![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
YeWendaddy
应怜屐齿映苍苔,,小扣柴扉久不开
展开
-
java 中的Volatile 一种稍弱的同步机制
Volatile原理 volatile变量,用来确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取volatile类型的变量时总会返回最新写入的值。 声明变量是 volatile 的,JVM 保证了每次读变量都从内存中读,跳过 CPU cache 这一步. 当一个变量定义为 volatile 之后,将具备两原创 2020-08-19 19:43:37 · 233 阅读 · 0 评论 -
一个线程从出生到死亡,线程的生命周期详解
1新建状态 当调用new关键字创建一个线程时,此时这个线程并没有真正的执行,它处于新建状态。 2就绪状态 当这个线程调用start方法后,这个线程将处于就绪状态,此时线程依然没有执行,而是要等待cpu的调度。 3执行状态 当此线程被cpu轮询到时,他将活得一个时间片,在一定时间内拥有执行权限,当时间片用完后将返回等待队列。 4阻塞状态 当一个线程调用wait,sleep,join等方法时,线程将进入阻塞状态,调用wait方法会释放锁,涉及线程间的通信需要其它线程唤醒,调用sleep方法睡...原创 2020-07-23 09:22:12 · 267 阅读 · 0 评论