为什么要使用线程池?
问题1:为什么要使用线程池, 有人马上会说,因为创建线程太耗时间了,
可是有人又说了,你创建太多,来回切换,也费时间。
尤其是windows网络编程一本书提到的,不要太多线程,一般般是cpu*2的个数即可。
有几个cpu,一般人的机子就2个而已, 就4个线程,搞那么复杂的线程池,想不通,
为什么要创建?
问题2:
举三个来自网上的例子:
1. 堵塞套接字,不用任何模型的socket编程:
对于长连接而言, 客户端随时都得和服务端保持连接!!! 如果一个客户端1个线程,
几十个客户端就得有几十个线程了, cpu来回切换,貌似几十个线程都在同时运行着。产生假象。
2. iocp+工作线程的方式
我的机子是2cpu, 我就创建4个工作线程把,来进行接收发送数据,用全局map管理在线用户!!
这个也是对付几十个客户端
3. 采用iocp 加上自己的线程池
3者哪一个效率高?
问题3:
还有,既然iocp已经有了线程池了,为什么还有人要写线程池和iocp一块用呢?不多于嘛?
3个问题,我都搜索过了,还真没有什么好的解答。
...全文
相关推荐
Java线程池ThreadPoolExecutor原理及使用实例
主要介绍了Java线程池ThreadPoolExecutor原理及使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
java多线程教程之如何使用线程池详解
主要给大家介绍了关于java多线程之如何使用线程池的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
详细分析JAVA 线程池
主要介绍了JAVA 线程池的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
到底如何设置Java线程池的大小的方法示例
在我们日常业务开发过程中,或多或少都会用到并发的功能。那么并发线程池到底设置多大呢?文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
浅谈java常用的几种线程池比较
下面小编就为大家带来一篇浅谈java常用的几种线程池比较。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧


界面
