Выполнение потока неограниченное количество раз до исполнения условия - 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();
}