![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
文章平均质量分 79
zbd_answer
这个作者很懒,什么都没留下…
展开
-
ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别
工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。 前记: jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别,池大小参数corePoolSize和maximumPoolSize,BlockingQueue选型(Synch转载 2014-03-06 15:18:36 · 14749 阅读 · 0 评论 -
进程与线程的一个简单解释
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。转载 2014-03-06 14:09:15 · 644 阅读 · 0 评论 -
ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别(总结)
ThreadPoolExecutor参数corePoolSize和maximumPoolSize,BlockingQueue(SynchronousQueue,LinkedBlockingQueue,ArrayBlockingQueue)关系或规则:1.如果运行的线程少于 corePoolSize,则 Executor 始终首选添加新的线程,而不进行排队。(什么意思?如果当前运行的线程原创 2014-03-06 15:32:07 · 1356 阅读 · 0 评论 -
解决 – java.lang.OutOfMemoryError: unable to create new native thread
一、认识问题:首先我们通过下面这个 测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4,测试程序:12345678910111213转载 2014-03-06 16:19:47 · 5425 阅读 · 0 评论 -
线程局部变量ThreadLocal
ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制,是每一个线程都可以独立地原创 2014-03-26 11:05:40 · 1376 阅读 · 0 评论