摘要:
【死锁例子】 【运行结果】 【分析】 创建两个线程"筷子线程"和"刀叉线程",flag值分别为true和false,分别执行run方法中的if和else的代码块,注意chopstick和knifefork对象锁都是静态变量,所以两个线程中的static变量时一致的。当筷子线程拥有chopsticks 阅读全文
摘要:
【线程安全问题例子】 模拟售票案例,4个窗口售票,总共100张票。 【运行结果】 【分析】 当只剩下一张票时,某个线程判断满足while(tickets>0)进入循环,然后休眠10ms,此时其它线程在这10ms内依次进入判断while(tickets>0),然后都休眠10ms,最后大家都执行最后的S 阅读全文