Выполнение потока неограниченное количество раз до исполнения условия - C#
Формулировка задачи:
Приветствую!
Всегда бользовался сторонними либами для работы с потоками, все упрощено максильно было, но сейчас надо сделать возможностями xNet.
Есть несколько вопросов, никак нагуглись не могу.
1.Хочу записывать сразу в отдельный файл класса все связанное с потоками, не могу понять, как мне передать сюда
public myThread(int thread_count) функцию void, которую собственно будут потоки выполнять, если она в коде Form1.cs, а класс в MyThread.cs?
2. После выполениня метода (пример)
потоки сами завершаются. Можно ведь сделать, чтобы после выполнения потоки начинали его выполнение сначала неограниченное кол-во раз (пока заданное мною стороннее условие не будет выполнено)?. Например пока log() не заполнит textbox 5000ми символов.
class myThread { Thread thread; int thread_count = 1; public myThread(int thread_count) { for (int i = 0; i < thread_count; i++) { thread = new Thread(); thread.Start(); } } }
private void Register_job() { for (int i=0; i<5; i++) { log(Convert.ToString(i)); } }
Решение задачи: «Выполнение потока неограниченное количество раз до исполнения условия»
textual
Листинг программы
static void Main(string[] args) { new Thread(new ParameterizedThreadStart(Run)).Start("arg"); } static void Run(object arg) { Console.WriteLine(arg); AutoResetEvent wh = arg as AutoResetEvent; Random r = new Random(); Console.WriteLine("Thread {0} is working...", Thread.CurrentThread.ManagedThreadId); Thread.Sleep(r.Next(2000, 10000)); wh.Set(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д