在项目中,经常用到一种设计模式----单例模式,下面举一个小案例,说明线程安全的单例模式在多线程中的应用,以供学习参考:
和尚吃馒头:
100个馒头,30个和尚,每个和尚最少吃一个馒头,最多不超过4个馒头,保证上述条件的情况下,尽快将馒头吃了!
要求是严格单例模式实现篮子类(存放馒头的容器)。
package java.thread;
/**
*
*/
public class MantouDemo {
public static void main(String[] args) {
for(int i = 0 ; i < Box.uneatedMonks ; i ++){
new Monk("tom" + i).start();
}
}
}
//篮子
class Box{
private static Box instance = null ;
private static Object lock = new Object();
//馒头总数
private int COUNT = 100 ;
//没吃馒头的和尚数量
public static in