99个线程顺序打印1到99:volatile与synchronized关键字的应用
导读: 使用99个线程,顺序打印1到99。基本设计思路是:定义一个全局变量totalNum来控制当前需要打印哪个数字每个线程都使用一个顺序编号num当某个线程检测到totalNum与num相等时,打印
丝瓜网小编提示,记得把"99个线程顺序打印1到99:volatile与synchronized关键字的应用"分享给大家!
使用99个线程,顺序打印1到99。基本设计思路是:
定义一个全局变量totalNum来控制当前需要打印哪个数字
每个线程都使用一个顺序编号num
当某个线程检测到totalNum与num相等时,打印num,并且在该线程递增num,以便通知下一个线程打印。
多线程相关:totalNum使用volatile关键字修饰保证线程可见性;每个线程内部基于synchronized关键字和基于Object类的wait方法等待轮到自己打印。
源码实现如下: