Можно ли в многопоточном приложении вызывать статические методы из разных потоков? - C#
Формулировка задачи:
Можно ли в многопоточном приложении вызывать статические методы из разных потоков? То есть что мне нужно, есть перечень методов, их я хочу вынести из основного класса в отдельный, а в основном классе будут описаны методы потоков. Было бы удобно дополнительный класс и методы в нем сделать статичными чтоб в каждом потоке не нужно было создавать отдельные экземпляры.
Решение задачи: «Можно ли в многопоточном приложении вызывать статические методы из разных потоков?»
textual
Листинг программы
class Program
{
private static void Run()
{
for (int k = 0; k < 100; k += 10)
{
Console.WriteLine("TaskId: {0} write {1}", Task.CurrentId, k);
System.Threading.Thread.Sleep(1000);
}
}
static void Main(string[] args)
{
Action run = Run;
Task t = new Task(Run);
Task[] tasks = new Task[10]
{
new Task(Run), new Task(Run), new Task(Run), new Task(Run), new Task(Run), new Task(Run), new Task(Run), new Task(Run), new Task(Run),
new Task(Run)
};
for(int i=0; i<10; i++)
{
tasks[i].Start();
}
Console.Read();
}