Я работаю над проектом, там нам нужно реализовать многозадачность для некоторой функциональности. Для этого мы использовали. NET один из лучших API - параллельная библиотека задач (TPL).
Например. код для TPL (взят из здесь )
static void Main()
{
var options = new ParallelOptions()
{
MaxDegreeOfParallelism = 2
};
List<int> integerList = Enumerable.Range(0,10).ToList();
Parallel.ForEach(integerList, options, i =>
{
Console.WriteLine(@"value of i = {0}, thread = {1}",
i, Thread.CurrentThread.ManagedThreadId);
});
Console.WriteLine("Press any key to exist");
Console.ReadLine();
}
Как мы знаем, мы можем использовать опцию 'MaxDegreeOfParallelism', чтобы установить максимальное количество потоков, которые будут использоваться. Предположим, у нас есть 16 виртуальных виртуальных ядер, я хочу запустить приложение, которое должно работать только с несколькими выбранными ядрами, например, C1, C2, c8, c9. Подскажите пожалуйста как это можно сделать с помощью TPL?
Спасибо, Виджай