public Form2() { InitializeComponent(); semaphoreS1 = new Semaphore(); semaphoreS2 = new Semaphore(); semaphoreS3 = new Semaphore(); semaphoreSReady = new Semaphore(); semaphoreSRunway = new Semaphore(); buffer_section1 = new Buffer(); buffer_section2 = new Buffer(); buffer_section3 = new Buffer(); buffer_sReady = new Buffer(); buffer_sRunway = new Buffer(); blue_counter = new ButtonPanelThread(new Point(10, 30), 120, "down", blueBase, Color.Blue, semaphoreS1, buffer_section1, btn_BlueBase, 9); p2 = new WaitPanelThread(new Point(10, 10), 100, "right", section1, Color.White, semaphoreS1, buffer_section1, 12, buffer_section2, semaphoreS2); red_counter = new ButtonPanelThread(new Point(10, 30), 100, "down", redBase, Color.Red, semaphoreS2, buffer_section2, btn_RedBase, 9); p4 = new WaitPanelThread(new Point(10, 10), 100, "right", section2, Color.White, semaphoreS2, buffer_section2, 12, buffer_section3, semaphoreS3); green_counter = new ButtonPanelThread(new Point(10, 30), 100, "down", greenBase, Color.Green, semaphoreS3, buffer_section3, btn_greenBase, 9); p6 = new WaitPanelThread(new Point(10, 10), 100, "down", section3, Color.White, semaphoreS3, buffer_section3, 12, buffer_sReady, semaphoreSReady); ready_counter = new ButtonPanelThread(new Point(100, 0), 120, "left", section_ready, Color.Blue, semaphoreSRunway, buffer_sRunway, btn_ready, 9); p8 = new WaitPanelThread(new Point(390, 10), 100, "left", section_runway, Color.White, semaphoreSRunway, buffer_sRunway, 38, buffer_sRunway, semaphoreSRunway); semThreadS1 = new Thread(new ThreadStart(semaphoreS1.Start)); buffThreadS1 = new Thread(new ThreadStart(buffer_section1.Start)); semThreadS2 = new Thread(new ThreadStart(semaphoreS2.Start)); buffThreadS2 = new Thread(new ThreadStart(buffer_section2.Start)); semThreadS3 = new Thread(new ThreadStart(semaphoreS3.Start)); buffThreadS3 = new Thread(new ThreadStart(buffer_section3.Start)); semThreadSReady = new Thread(new ThreadStart(semaphoreSReady.Start)); buffThreadSReady = new Thread(new ThreadStart(buffer_sReady.Start)); semThreadSRunway = new Thread(new ThreadStart(semaphoreSRunway.Start)); buffThreadSRunway = new Thread(new ThreadStart(buffer_sRunway.Start)); thread1 = new Thread(new ThreadStart(blue_counter.Start)); thread2 = new Thread(new ThreadStart(p2.Start)); thread3 = new Thread(new ThreadStart(red_counter.Start)); thread4 = new Thread(new ThreadStart(p4.Start)); thread5 = new Thread(new ThreadStart(green_counter.Start)); thread6 = new Thread(new ThreadStart(p6.Start)); thread7 = new Thread(new ThreadStart(ready_counter.Start)); thread8 = new Thread(new ThreadStart(p8.Start)); this.Closing += new CancelEventHandler(this.Form1_Closing); semThreadS1.Start(); buffThreadS1.Start(); semThreadS2.Start(); buffThreadS2.Start(); semThreadS3.Start(); buffThreadS3.Start(); semaphoreSReady.Start(); buffThreadSReady.Start(); semaphoreSRunway.Start(); buffThreadSRunway.Start(); thread1.Start(); thread2.Start(); thread3.Start(); thread4.Start(); thread5.Start(); thread6.Start(); thread7.Start(); thread8.Start(); }
public Form1() { InitializeComponent(); semaphore = new Semaphore(); semaphore2 = new Semaphore(); buffer = new Buffer(); buffer2 = new Buffer(); p1 = new ButtonPanelThread(new Point(5, 40), 120, true, pnl1, Color.Blue, semaphore, buffer, btn1); p2 = new WaitPanelThread(new Point(40, 10), 100, true, pnl2, Color.White, semaphore, buffer); p3 = new ButtonPanelThread(new Point(40, 10), 250, true, pnl3, Color.Red, semaphore, buffer, btn3); p4 = new WaitPanelThread(new Point(40, 10), 100, true, pnl4, Color.White, semaphore2, buffer); p5 = new ButtonPanelThread(new Point(40, 10), 120, true, pnl5, Color.Green, semaphore2, buffer, btn5); semThread1 = new Thread(new ThreadStart(semaphore.Start)); semThread2 = new Thread(new ThreadStart(semaphore2.Start)); buffThread = new Thread(new ThreadStart(buffer.Start)); buffThread2 = new Thread(new ThreadStart(buffer2.Start)); thread1 = new Thread(new ThreadStart(p1.Start)); thread2 = new Thread(new ThreadStart(p2.Start)); thread3 = new Thread(new ThreadStart(p3.Start)); thread4 = new Thread(new ThreadStart(p4.Start)); thread5 = new Thread(new ThreadStart(p5.Start)); this.Closing += new CancelEventHandler(this.Form1_Closing); semThread1.Start(); semThread2.Start(); buffThread.Start(); thread1.Start(); thread2.Start(); thread3.Start(); thread4.Start(); thread5.Start(); }