Выполнение потока неограниченное количество раз до исполнения условия - 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();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д