黑马程序员技术交流社区
标题:
关于Jdk1.5后线程池的理解!
[打印本页]
作者:
绿影
时间:
2011-11-14 12:53
标题:
关于Jdk1.5后线程池的理解!
仅供参考!
线程池就是一工厂不是,一个工人就是一个Thread,你可以用三种方式(见代码)决定请几个工人干活。如果有活了这些工人就开干(就是线程自动到线程池中去拿任务执行),如果没订单了,就没活可干了工人就休息着吃闲饭。如果你不想他们吃闲饭就赶走。(就用 threadPool.shutdown()关闭线程池)。
//创建固定线程个数的线程池。
//ExecutorService threadPool = Executors.newFixedThreadPool(3);
//创建线程个数动态变化的线程池,有多少任务就多少线程,再来则动态增加。
//ExecutorService threadPool = Executors.newCachedThreadPool();
//创建单个线程的线程池,这个池子中的这个线程如果死了,就会自动创建一个新的Thread接替他。
ExecutorService threadPool = Executors.newSingleThreadExecutor();
复制代码
作者:
石宗银
时间:
2011-11-14 13:38
Executors.newFixedThreadPool(3); 固定线程数,随机指派某个线程去 完成当前的任务;当一个线程完了它的任务后,还有新任务没有被接收,则会去接受新任务
Executors.newCachedThreadPool(); 动态生成线程来执行任务,,当有线程执行完它的任务后,且还有任务没被分配,则会去执行新任务,,如:有10个任务,可能只生成了
6、7个线程,还有几个任务 是前面中执行完任务的线程在执行
作者:
绿影
时间:
2011-11-21 19:29
石宗银 发表于 2011-11-14 13:38
Executors.newFixedThreadPool(3); 固定线程数,随机指派某个线程去 完成当前的任务;当一个线程完了它 ...
恩 理解更清楚了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2