Синхронизация групп потоков - C#
Формулировка задачи:
Здравствуйте! Помогите, пожалуйста. У меня есть метод MonitoringThread() в котором запускается 9 потоков. Мне необходимо чтобы каждые из последующих трех потоков запускались только по окончании работы предыдущих трех. С помощью какого инструмента это можно реализовать? Спасибо.
namespace name { public partial class Class1 : Form { public Class1() { InitializeComponent(); } Class2 cl2 = new Class2(); List<Class3> cl3; Class4 cl4 = null; Thread th10; Thread th11; Thread th20; Thread th21; Thread th30; Thread th31; public void MonitoringThread() { for (; cl3 != null && cl3.Count != 0;) { Class3 Cls3 = cl3[0]; th10 = new Thread(delegate() { Work1(Cls3, cl4); }); th10.Start(); th11 = new Thread(delegate() { Work2(Cls3, cl4); }); th11.Start(); Work(Cls3, cl4); th20 = new Thread(delegate() { Job1(Cls3, cl4); }); th20.Start(); th21 = new Thread(delegate() { Job2(Cls3, cl4); }); th21.Start(); Job(Cls3, cl4); th30 = new Thread(delegate() { Dothejob1(Cls3, cl4); }); th30.Start(); th31 = new Thread(delegate() { Dothejob2(Cls3, cl4); }); th31.Start(); Dothejob(Cls3, cl4); } } } }
Решение задачи: «Синхронизация групп потоков»
textual
Листинг программы
//создаем и запускаем потоки 1 2 3 ... //В главном потоке: th1.Join(); th2.Join(); th3.Join(); //4 5 6 ... th4.Join(); th5.Join(); th6.Join(); ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д