public Form1() { InitializeComponent(); for (int i = 0; i < countOfThreads; i++) { isReaders[i] = false; } isReaders[1] = true; countOfReaders = 1; if (!File.Exists(path)) { sw = File.CreateText(path); sw.Close(); } for (int i = 0; i < countOfThreads; i++) { freeNum++; dataGridView1.Rows.Add("Thread " + i, "ololo"); IncThreadClass threadClass = new IncThreadClass("Thread " + i, i, 1, dataGridView1, this); threads[i] = new Thread(new ThreadStart(threadClass.Work)); threads[i].Start(); threadsStates[i] = new MyThreadState(); threadsStates[i] = MyThreadState.Run; threadsNames[i] = "Thread " + i; } pdClass = new PrintDaemonClass(this); printDaemonThread = new Thread(new ThreadStart(pdClass.PrintDaemon)); printDaemonThread.Start(); isEndInitFlag = true; }
private void startToolStripMenuItem_Click(object sender, EventArgs e) { int rowI = dataGridView1.SelectedCells[0].RowIndex; if (threadsStates[rowI] == MyThreadState.Stop) { IncThreadClass threadClass = new IncThreadClass("Thread " + freeNum, rowI, 1, dataGridView1, this); threads[rowI] = new Thread(new ThreadStart(threadClass.Work)); threads[rowI].Start(); threadsStates[rowI] = MyThreadState.Run; threadsNames[rowI] = "Thread " + freeNum; freeNum++; shiftUpThreadsInfo(rowI); } }