Добрый день. Пытаюсь сейчас понять как правильно управлять потоками в C#.
Конкретно интересует следующее, каким образом в программе распределять потоки?
К примеру у меня есть условная функция вида:
void TextFunc()
{
Console.Write("Hello, World");
}
void TextFunc1()
{
Console.Write("Hello, User");
}
Я создаю пару потоков при помощи массивов. И по индексу назначаю функцию.
Thread [] trd = new Thread[2];
Как назначить по индексу потока функцию? К примеру
trd[0] // тут ссылка на функцию
trd[1] // тут ссылка на функцию
Возможно ли это в принципе?
И каким образом вообще программа раскидывается по потокам?
Есть же софт который сам масштабируется по количеству потоков процессора и не теряет функционал.
По логике которую я понял, если сам указываешь количество потоков то и функции сам должен подписывать.
А если на процессоре не 4 ядра а 2. То получается что какой то функционал не доступен? Вообщем объясните как все правильно организуется.