多线程
其实抛开实现的细节,java的多线程很简单:
java多线程主要面临的问题就是线程安全问题 --》
线程安全问题是由线程间的通信造成的,多个线程间不通信就没有线程安全问题–》
java中线程通信只能通过类变量和实例变量,因此解决线程安全问题就是解决对变量的安全访问问题–》
java中解决变量的安全访问采用的是同步的手段,同步是通过锁实现的–》
有三种锁能保证变量只有一个线程访问,偏向锁最快但是只能用于从始至终只有一个线程获得锁,轻量级锁较快但是只能用于线程串行获得锁,重量级锁最慢但是可以用于线程并发获得锁,先用最快的偏向锁,每次假设不成立就升级一个重量。