摘要:
ReentrantReadWriteLock读写锁 乐观锁和悲观锁 乐观锁 乐观锁,就是给需要共享的数据,添加一个版本号version,例如1,每次有线程更新共享数据后,version+1,每次线程进行数据更新时,要比较当前线程持有的数据的版本号,相等则修改,不相等则不修改,支持并发访问。 悲观锁 阅读全文
摘要:
JUC的强大辅助类 juc中提供了常用的辅助类,通过这些辅助类,可以很好的解决线程数量过多时,Lock锁的频繁操作这三种辅助类为: 1.CountDownLatch,减少计数。 2.CyclicBarrier,循环栅栏。 3.Semaphore,信号灯。 减少计数器(CountDownLatch) 阅读全文
摘要:
Callable接口和Future接口 创建线程的方式 1.继承Thread类2.实现Runnable接口3.Callable接口4.线程池方式 Callable接口 在继承Thread类和实现Runnable接口的方式创建线程时,线程执行的run方法中,返回值是void,即无法返回线程的执行结果, 阅读全文
摘要:
常见锁介绍 synchronized锁的八中情况 package com.shaonian.juc.more_thread_lock; import java.util.concurrent.TimeUnit; class Phone { public static synchronized voi 阅读全文
摘要:
ArrayList在多线程情况下,不安全 具体代码 package com.shaonian.juc.list_thread_secure; import java.util.ArrayList; import java.util.List; import java.util.UUID; /** * 阅读全文