课程
/后端开发
/Java
/细说Java多线程之内存可见性
Thread.yiled(); 是指当前线程让出CPU资源吗?
2015-06-06
源自:细说Java多线程之内存可见性 4-2
正在回答
理论上是让出当前线程,实际稍有效果,但不太明显。
上面讲错了,是让出资源没错,但是不等待/不睡眠/不阻塞状态,直接去排队了(就绪状态)。打个比方就是,我坐在公交车的座位上,一个大爷上来了,我调用yiled(),这时候,我说“大爷!你别动”,然后我跑到大爷那个位置,然后“3,2,1,谁抢到座位谁坐!”
恩 准确说应该是让线程处于阻塞状态
举报
用两种方式实现内存可见性,代领大家深层次学习Java中的内存
5 回答synchronized问题
2 回答小问题求解
2 回答重排序问题
2 回答volatile原子性问题
1 回答共享数据的访问权限问题