线程池为线程生命周期开销问题和系统资源不足问题提供了解决方案。线程池中预先创建了一些工作线程,它们不断从工作队列中取出任务,然后执行该任务。当工作线程执行完一个任务时,就会继续执行工作队列中的下一个任务。线程池具有以下优点:
减少了创建和销毁线程的次数,每个工作线程都可以一直被重用,能执行多个任务。
可以根据系统的承载能力,方便地调整线程池中线程的数目,防止因为消耗过量系统资源而导致系统崩溃。 我这里有个不理解的地方。。 比如我设定线程池的个数为2 那么我加入了 10个线程进去。。
我的理解是 这个线程池控制了 并行运行的个数。。 最多只有2个线程并行运行。。 但是我10个线程加入进去 。。
没有理解的是 10个线程加入进去了 不是 声明10个线程 和撤销10个线程所有的资源吗?
如果是这样的话 对资源的消耗 我觉得和直接写10个线程没有多大区别。。
但是我知道这样理解是不对的。。
希望大家教育我下。。 改怎么理解 线程池中 设定的个数 和我加入进去后事怎么样运行的?
谢谢
减少了创建和销毁线程的次数,每个工作线程都可以一直被重用,能执行多个任务。
可以根据系统的承载能力,方便地调整线程池中线程的数目,防止因为消耗过量系统资源而导致系统崩溃。 我这里有个不理解的地方。。 比如我设定线程池的个数为2 那么我加入了 10个线程进去。。
我的理解是 这个线程池控制了 并行运行的个数。。 最多只有2个线程并行运行。。 但是我10个线程加入进去 。。
没有理解的是 10个线程加入进去了 不是 声明10个线程 和撤销10个线程所有的资源吗?
如果是这样的话 对资源的消耗 我觉得和直接写10个线程没有多大区别。。
但是我知道这样理解是不对的。。
希望大家教育我下。。 改怎么理解 线程池中 设定的个数 和我加入进去后事怎么样运行的?
谢谢
解决方案 »
- jar包的问题
- 老是提示 [unchecked] 未经检查的转换
- applet 如何播放 mp3 wma 格式文件
- 按照书上打的一个事件的程序,可是没反应,而且内存也释放不了
- 怎么才能让eclipse运行的时候不在eclipse的console显示结果呢?
- Arrays 的sort(double[] a, int fromIndex, int toIndex) 问题
- 求救!!帮帮小弟我看看这个程序的问题!!
- 在校的学生朋友们,进来看一下。
- jb7中怎么使用别的jdbc,怎么把已知的jdbc加入connection的driver下拉列表里!
- Java 如何实现去掉XML注释
- 关于socket服务端测试问题
- 提问
你可以看看Executor的SingleThreadExecutor和FixThreadPool的执行应该会更清楚。
□ □
■ 忍以明志 勤以致远 ■
□ □
■□■□■□■□■□■□■□■
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)