Please enable JavaScript.
Coggle requires JavaScript to display documents.
多线程和线程同步 (Thread, Runnable, ThreadFactory, Executor), synchronized…
多线程和线程同步
Thread
Runnable
ThreadFactory
Executor
synchronized
保证内部或这个代码块的互斥性,即同一时间 同一个Monitor监视的代码,只能有一个线程在访问
保证线程之间对监视资源的数据同步。
任何线程在获得Monitor后的第一时间就是把共享内存中的数据复制到自己的缓存中
任何线程在释放Monitor后的第一时间就是将自己缓存中的数据复制到共享内存中
volatile
保证加了volatile关键字的字段具有同步性
对 long double 的操作原子性
volatile 解决不了 ++ 的原子性问题
Object四个方法
wait()
暂时释放锁,进入等待队列
notify()
notifyAll()
join()
当前调用该方法的线程执行完之后,另一个线程再执行
yield()
让给和当前线程优先级一样的线程
数据同步
线程获取到Monitor后第一时间将共享内存的数据复制到自己的缓存中
线程释放Monitor后第一时间会将缓存的数据复制到共享内存中