线程学习笔记(2)

1:异变数据 volatile

      快速存储器cache技术的应用提高了访问数据的速度和效率。但在某个瞬间,一个数据存储在主存储器和暂留在cache中的值可能不同。尤其在多线程中,某个线程访问的共享数据可能是cache中的值,而不是主存储器中的值。使用此关键字,可以使线程越过cache,直接访问主存储器的数据,保证了数据的一致性。

private volatile int num;

2:协作 synchronized

      可用它来定义一段程序块,或者整方法,用来协调多线程对这个程序块或方法的有序访问。

3:通知 notify()/notifyAll()

      notify()只是唤醒一个正在等待的线程。但由于系统调度器处理线程调度安排的不透明性,唤醒哪个线程是不确定的。所以notifyAll()使用的更多。

你可能感兴趣的:(学习笔记)