
并发
文章平均质量分 71
kenewstar
这个作者很懒,什么都没留下…
展开
-
锁(Locks)
锁(Locks)1 ReentrantLock应用demo可重入锁,是一种使用递归无堵塞的同步机制比 synchronized 更强大、更灵活的锁机制,可以减少死锁发生的概率默认为非公平锁,可以自定义为公平锁底层采用 AQS 实现,通过内部 Sync 集成 AQS简单应用:/** * @author kenewstar * @version 1.0 * @date 2021/5/14 */public class Concurrent07 { private int cou原创 2021-05-16 14:56:18 · 1143 阅读 · 0 评论 -
ThreadLocal使用与分析
ThreadLocal使用与分析ThreadLocal一种解决多线程环境下成员变量的问题的方案,但是与线程同步无关,其思路就是为每个线程创建一个单独的变量副本。 从而每个线程都可以独立的改变自己所拥有的变量副本,而不会影响其他线程对应的变量副本。ThreadLocal不是用于解决共享变量的问题,也不是为了协调线程同步而存在,而是为了方便每个线程处理自己的状态而引入的一个机制四个方法:get() 方法:返回当前线程局部变量的副本中的值initalValue() 方法:返回当前线程局部变量的值re原创 2021-05-15 11:27:49 · 667 阅读 · 3 评论 -
并发工具类
并发工具类1 CountDownLatch 该工具是用来同步一个或多个任务,强制他们等待由其他任务执行的一组操作。功能可以类比Thread类的join方法。给该对象设置一个计数值,当一个任务完成时,调用countDown()方法对计数值减一,当计数值为0时,所有任务都完成了。CountDownLatch只触发一次,计数值不能重置。public static void countDownLatch() throws InterruptedException { long start = In原创 2021-05-14 14:47:49 · 660 阅读 · 1 评论 -
生产者与消费者模型
生产者与消费者模型一个计数器count 生产者每次count++ 当count为20时,生产者等待消费者进行消费,消费者每次count - -,当count为0时,消费者等待生产者生产。当count++时需要对等待的消费者进行唤醒操作,此时count > 0 消费者可以消费,当count - - 时需要唤醒生产者进行生产,此时count < 20 。生产者可以进行生产。设定只生产100个产品,当生产者生产完100个产品后,退出生产,消费者消费完所有产品后也退出消费。Java代码实现如下(原创 2021-05-13 20:56:51 · 639 阅读 · 0 评论