并发编程之多线程之间通讯

1.重排序概念

   A.cpu会对代码执行顺序实现优化,不会对有依赖关系的数据做重排序。代码的执行顺序可能会发生改变,但是执行的结果不会发生任何改变。

   B.as-if-serial:不管怎么去做重排序,目的是提高并行度,但是不能影响到正常的结果。

   C.重排序在多线程情况下遇到

2.wait()和notify()

   A.wait()等待:让线程等待,并释放锁资源

   B.noftify()唤醒:唤醒当前对象锁池被等待线程

   C.注意:一定要在synchronized下使用,并且持有的是同一把锁。

   D.sleep不会释放锁

猜你喜欢

转载自www.cnblogs.com/it-szp/p/11470285.html