![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC
h_lizeming
这个作者很懒,什么都没留下…
展开
-
ThreadPoolExecutor
知识点提前预知:Java.util.concurrent.ThreadPoolExecutor类是ExecutorSerivce接口的具体实现。ThreadPoolExecutor使用线程池中的一个线程来执行给定的任务(Runnable或者Runnable)。 Executor是接口 只能使用execute。 ThreadPoolExecutor是实现其他线程池的核心。(ThreadPoo...原创 2019-04-04 08:35:00 · 4339 阅读 · 0 评论 -
runnable与callable区别
最直接的就是:runnable是通过run方法实现多线程操作 而callable是通过call方法实现多线程操作实体有返回值的任务必须通过callable接口实现 而没有返回值的任务通过runnable实现,执行callable任务后,可以获取一个future对象,在该对象上直接调用get方法可以获取callable任务执行的返回的object对象,再结合线程池接口Executo...原创 2019-04-03 20:02:35 · 561 阅读 · 0 评论 -
submit与excute区别
1)可以接受的任务类型 submit: execute: 从上面可以看出来:submit参数可以是runnable接口也可以是callable接口,而excute只能是runnable接口 submit不管是Runnable还是Callable类型的任务都可以接...原创 2019-04-03 20:20:17 · 679 阅读 · 0 评论 -
根据CPU核心数确定线程池并发线程数
在Java中,通过下面的代码,我们可以很容易地获取到系统可用的处理器核心数目: 1 Runtime.getRuntime().availableProcessors(); 基本原则是:应用程序的最小线程数应该等于可用的处理器核数。具体场景又分为以下两种情况:(1)如果所有的任务都是计算密集型的,则创建处理器可用核心数那么多个线程就可以了。在这种情况下...转载 2019-06-02 12:28:37 · 2313 阅读 · 0 评论