上下文切换:
CPU切换线程时就产生了一次上下文切换;
Java如何实现原子操作:
锁和CAS操作;
happens-before规则:前一个操作的结果对后一个操作可见
- 一个线程中每个操作before于该线程中的任意后续操作;
- 对一个锁的解锁before于后续对这个锁的加锁;
- 对一个volatile变量的写before于后续对这个变量的读;
- 如果A before B、B before C,则A before C;
- 线程A执行threadB.strat(),则A的threadB.start()操作before于线程B中任意操作;
- 线程A执行threadB.join(),则B中任意操作before与线程A中threadB.join()之后的任意操作;