摘要: 我们知道,受限于硬件、内存和性能,我们不可能无限制的创建任意数量的线程,因为每一台机器允许的最大线程是一个有界值。也就是说ThreadPoolExecutor管理的线程数量是有界的。线程池就是用这些有限个数的线程,去执行提交的任务。然而对于多用户、高并发的应用来说,提交的任务数量非常巨大,一定会比允 阅读全文
posted @ 2020-11-30 23:09 牧之丨 阅读(668) 评论(0) 推荐(0) 编辑
摘要: SynchronousQueue SynchronousQueue是无界的,是一种无缓冲的等待队列,但是由于该Queue本身的特性,在某次添加元素后必须等待其他线程取走后才能继续添加;可以认为SynchronousQueue是一个缓存值为1的阻塞队列,但是 isEmpty()方法永远返回是true, 阅读全文
posted @ 2020-11-30 20:08 牧之丨 阅读(361) 评论(0) 推荐(0) 编辑