Потоки и взаимодействие между ними - C#
Формулировка задачи:
Всем привет!
С потоками вот только начал разбираться, поэтому вопрос нубский.
Каким образом можно реализовать взаимодействие между потоками:
1. Создали поток1.
2 Создали поток 2
3. Подождали пока поток1 что то там сделает,а точнее проиницилизирует все что ему надо.
4. Как только он сделал дело-надо как то дать знать второму потоку,что теперь и он может начать работу (с первым потоком).
Мне больше всего непонятен пункт 4. Как это сделать? через события?
Спасибо.
Решение задачи: «Потоки и взаимодействие между ними»
textual
Листинг программы
private static AutoResetEvent _autoResetEvent; private static void Go1() { //Делаем что-то в первом потоке Thread.Sleep(5000); //Уведомляем что закончили _autoResetEvent.Set(); } private static void Go2() { //Ждем пока первый поток отработает _autoResetEvent.WaitOne(); //Выполняем действия во втором потоке MessageBox.Show("Прошло 5 секунд"); } [STAThread] private static void Main(string[] args) { _autoResetEvent = new AutoResetEvent(false); Thread threadOne = new Thread(Go1); Thread threadTwo = new Thread(Go2); threadOne.Start(); threadTwo.Start(); Console.ReadKey(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д