コード例 #1
0
ファイル: ColdStorage.cs プロジェクト: zuoxiaolei1990/Javagit
 public static ColdStorage GetInstance()
 {
     if (ColdStorageRepository == null)
     {
         ColdStorageRepository = new ColdStorage();
     }
     return(ColdStorageRepository);
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: zuoxiaolei1990/Javagit
        static void Main(string[] args)
        {
            //主线程,生产
            Truck         truck         = new Truck();
            CheeseFactory cheeseFactory = new CheeseFactory();
            ColdStorage   coldStorage   = ColdStorage.GetInstance();

            coldStorage.AddTransportEvent(truck.TransportCheese);

            while (cheeseFactory.cheeseCount < CheeseFactory.MaxCountOfCheeseFactory)
            {
                cheeseFactory.ProduceProtuction();
            }

            //线程1,运输
            ThreadStart threadStart           = new ThreadStart(truck.TransportCheese);
            Thread      threadTransportCheese = new Thread(threadStart);

            threadTransportCheese.Start();
        }
コード例 #3
0
ファイル: Truck.cs プロジェクト: zuoxiaolei1990/Javagit
 public Truck()
 {
     coldStorage = ColdStorage.GetInstance();
 }
コード例 #4
0
 public CheeseFactory()
 {
     coldStorage = ColdStorage.GetInstance();
     coldStorage.AddStartProduceEvent(ChangeProduceState);
 }