一 只 程 序 原

"juc"

死磕juc(三)LockSupport与线程中断

LockSupport与线程中断一、线程中断机制1.1 什么是中断首先一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止。所以,Thread.stop, Thread.suspend, Thread.resume 都已经被废弃了。其次在Java中没有办法立即停止一条线程,然而停止线

死磕juc(二)java的“锁”事(2)

java的”锁“事(2)一、公平锁和非公平锁1.1 从ReentrantLock卖票编码演示公平和非公平现象class Ticket{ private int number = 30; ReentrantLock lock = new ReentrantLock(); // 默认 Ree

死磕juc(二)java的“锁”事(1)

java的”锁“事(1)一、乐观锁和悲观锁1.1 悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改。synchronized关键字和Lock的实现类都是悲观锁适合写操作多的场景,先加锁可以保证写操作时数据正确。显式的锁定之后再操作同步资

死磕Juc(一)之CompletableFuture

死磕Juc(一)之CompletableFuture一、Future和Callable接口Future接口定义了操作异步任务执行一些方法,如获取异步任务的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。Callable接口中定义了需要有返回的任务需要实现的方法@Function