1 Java多线程内存模型




volatile的作用:保证线程之间共享变量的可见性。(实际上是通过汇编语言的lock前缀来实现,缓存一致性协议MESI)









jdk自带的线程池:
JDK自带的线程池
https://blog.youkuaiyun.com/liuchuanhong1/article/details/52042182

传递的参数不一致导致速度慢。



newCachedThreadPool:可能会导致cpu100%,因为构造方法中只有一个队列,任务量巨大时,创建的线程很多,会造成cpu100%。

newFixedThreadPool:核心线程数为10,最大线程数为10。待处理任务量巨大时,可能会造成内存溢出
newSingleThreadPool:核心线程数为1,待处理任务量巨大时,可能会造成内存溢出







阿里推荐自定义线程池。
本文探讨了Java中volatile关键字的作用,如何确保线程间共享变量的可见性,并揭示了JDK内置线程池的潜在问题,如newCachedThreadPool可能导致CPU100%,以及为何推荐使用阿里自定义线程池进行优化。
1315

被折叠的 条评论
为什么被折叠?



