![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ReentrantLock
文章平均质量分 78
啊窝额,
这个作者很懒,什么都没留下…
展开
-
Java多线程基础知识:线程池内含四种常用线程池
线程池 为什么使用线程池 多线程的缺点:处理任务的线程创建和销毁都非常耗时并消耗资源。多线程之间的切换也会非常耗时并消耗资源。解决方法:采用线程池使用时线程已存在,消除了线程创建的时耗通过设置线程数目,防止资源不足 ThreadPoolExecutor的全参构造函数参数介绍 在Java中创建线程池常用的类是ThreadPoolExecutor,该类的全参构造函数如下:public ThreadPoolExecutor(int corePoolSize,...原创 2021-03-16 16:32:26 · 134 阅读 · 0 评论 -
Java多线程基础知识:并发容器简介附源码
并发容器简介因为同步容器将几乎所有方法添加的synchronized进行同步,这样保证了线程的安全性,但代价就是严重降低了并发性能,当多个线程竞争容器时,吞吐量严重降低。Java5.0开始针对多线程并发访问重新设计,提供了并发性能较好的并发容器,引入了java.util.concurrent包。并发容器如下:ConcurrentHashMap对应的非并发容器:HashMap 目标:代替Hashtable、synchronizedMap,支持复合操作 原理:JDK6中采用一种更加细粒度原创 2021-03-16 16:18:24 · 77 阅读 · 0 评论 -
Java多线程基础知识:同步容器相关源码
同步容器介绍:在Java中,同步容器主要包括2类:1)Vector、Stack、HashTable(可以独立创建)2)Collections类中提供的静态工厂方法创建的类(借助工具类创建)Vector实现了List接口,Vector实际上就是一个数组,和ArrayList类似,但是Vector中的方法都是synchronized方法,即进行了同步措施。Stack也是一个同步容器,它的方法也用synchronized进行了同步,它实际上是继承于Vector类。HashTable原创 2021-03-16 16:11:39 · 46 阅读 · 0 评论 -
2021年Java面试多线程基础篇之线程通讯(4)
为什么要线程通信多个线程并发执行时,在默认情况下CPU是随机切换线程的,有时我们希望CPU按我们的规律执行线程,此时就需要线程之间协调通信。线程通讯方式线程间通信常用方式如下:线程通讯为什么要线程通信多个线程并发执行时,在默认情况下CPU是随机切换线程的,有时我们希望CPU按我们的规律执行线程,此时就需要线程之间协调通信。线程通讯方式线程间通信常用方式如下:休眠唤醒方式:Object的wait、notify、notifyAllCondition的await、sign.原创 2021-03-12 14:02:36 · 103 阅读 · 0 评论