Запрет повторного запуска идентичного потока - C#
Формулировка задачи:
Thread th = new Thread(delegate() { DoWork(); }); th.Start(); void DoWork() { }
Решение задачи: «Запрет повторного запуска идентичного потока»
textual
Листинг программы
using System; using System.Threading; namespace ConsoleApplication9 { class Program { static bool thFlag = false; static void Main( string[] args ) { //бессконечный цикл while ( true ) { //если флаг закрыт, то поток не запустится if ( !thFlag ) { //флаг свободен //закрываем флаг thFlag = true; //создаем поток Thread th = new Thread( () => { Thread.Sleep( 1000 ); Console.WriteLine( "Поток завершился" ); //поток, когда завершится, откроет флаг thFlag = false; } ); //запускаем поток th.Start(); } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д