Java并发编程讨论

我的理解:
在IO密集型程序中,要用异步服务器(借用node js里的event loop思想),JDK5之后的NIO引入了非阻塞方式的Socket编程,非阻塞方式的Socket编程主要是使用Socket通道和Selector通道选择器,将Socket通道注册到通道选择器上,通过通道选择器选择通道已经准备好的事件的进行相应操作。
在CPU密集型的应用场景中,应该使用多线程服务器,充分利用现代CPU的多核性能来减缓CPU大量运算的压力。常用方法有j.u.c下的线程池。
这个问题我想和大家讨论下,我的想法有不当或者不完整的地方,还请大家指正!

#阿里巴巴##Java工程师#
全部评论
跟楼主讨论一下。遇见一个面试官,问我有8个线程,同时完成一种CPU密集型任务和一种IO密集型任务,问线程怎么分配? 没想出来从哪方面着手?
点赞 回复 分享
发布于 2016-05-04 14:24
nio是同步非阻塞式IO, 所以并不能根本解决io密集型的问题. 我感觉使用aio异步非阻塞io似乎可以提高io处理速度
点赞 回复 分享
发布于 2016-04-29 15:38
可以看看netty的源码,并发和网络都有
点赞 回复 分享
发布于 2016-04-28 00:01
Nio本身跟io密集没啥关系吧?它用来分发事件是没问题,但是一旦开启io线程不还是干不了其它嘛?应该是要结合线程池才行吧[¬º-°]¬,好久没看这些了,感觉又忘了
点赞 回复 分享
发布于 2016-04-27 23:56
NIO BIO AIO
点赞 回复 分享
发布于 2016-04-27 22:39

相关推荐

04-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
双非阴暗爬行:我来看看笑死我了,这名字取得好想笑(没有不好的意思)
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务