知足常乐|Java线程池原理,这一篇就够了( 二 )
核心代码就从任务队列中不断取出runable对象(即MyTask)并执行 。
excute()只是将任务(MyTask)加入到队列(BlockQueue)中 。
//执行任务 只是把任务加进任务队列 , 什么时候执行由线程管理器决定public void execute(Runnable task){try {taskQueue.put(task);} catch (InterruptedException e) {e.printStackTrace();}}
测试代码:
public static void main(String args[]) throws InterruptedException{ThreadPool threadPool = new ThreadPool(5,100);threadPool.execute(new MyTask("testA"));threadPool.execute(new MyTask("testD"));threadPool.execute(new MyTask("testB"));threadPool.execute(new MyTask("testE"));threadPool.execute(new MyTask("testF"));System.out.println(threadPool);Thread.sleep(10000);threadPool.destroy();System.out.println(threadPool);}
运行截图:
【知足常乐|Java线程池原理,这一篇就够了】WorkThread num is :5 wait task num is :117 ready exec :com.lxxl.flowlayout.ThreadPool$MyTask@17a4622316 ready exec :com.lxxl.flowlayout.ThreadPool$MyTask@5639218214 ready exec :com.lxxl.flowlayout.ThreadPool$MyTask@de7a04c15 ready exec :com.lxxl.flowlayout.ThreadPool$MyTask@2b036cd118 ready exec :com.lxxl.flowlayout.ThreadPool$MyTask@10469abfready to close pool``````WorkThread num is :5 wait task num is :0
引用美团知乎博客的一张图:
- 小机灵鬼|干货速来!透彻剖析微服务架构设计模式,深入开发Java有奇效
- 知足常乐|眼镜销售智能化,这个AI黑科技颠覆传统模式
- 知足常乐|卡顿的电脑如何满血复活?卖掉了太可惜,我教你如何正确复活
- 素手烹茶|爱了!阿里技术官亲笔的Java快速面试指南,熬夜啃完剑指大厂
- 知足常乐|北京国安成绩不稳定原因揭晓!下午五点球迷给出答案,且大局已定
- 前沿追踪|Google开源Java图片处理类库Thumbnail
- 知足常乐|把数据输入R之后,如何进行简单的操作(一)
- 书圈|看完这篇还不懂高并发中的线程与线程池你来打我(内含20张图)
- 知足常乐|百度直播将发起专项治理行动,对有违规交易行为账号封号处理
- 人世繁华|这一个月的Java开发岗面试真题(盒马鲜生+爱奇艺+小米)