ThreadLocal常规使用方法
在一个类中封装多种上下文,通过静态方法可以直接获取ThreadLocalMap的值,键即为ThreadId public class UserContext implements AutoCloseable { &n...
在一个类中封装多种上下文,通过静态方法可以直接获取ThreadLocalMap的值,键即为ThreadId public class UserContext implements AutoCloseable { &n...
创建任务阻塞队列 package tech.ityoung.study.demo.juc.threadpool; import lombok.extern.slf4j.Slf4j;  ...
概念 CAS:compare and swap CAS:Compare and set 无锁并发的优势 无锁情况下,即使重试失败,线程始终在高速运行,没有停歇,而 synchronized会让线程在没有获得锁的时候,发生上下文切换,进入阻塞...
三种同步模式交替输出比较 synchronized package tech.ityoung.study.demo.jvm.juc; import lombok.extern.slf4j.Slf4j;&n...
package tech.ityoung.study.demo.jvm.juc;import lombok.extern.slf4j.Slf4j;import org.yaml.snakeyaml.events.Event;import j...
Guarded Suspension 即保护性暂停,用在一个线程等待另一个线程的执行结果 要点 有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject 如果有结果不断从一个线程到另一个线程那么可以使用消息队列...
线程创建的三种方式 主线程不会等待子线程结束 Java进程会等待所有线程结束 三种方式本质都是在thread构造函数中传入runnable接口的实现对象 继承Thread类并复写thread中的run方法 package tec...