Распределение потоков по ядрам - C#
Формулировка задачи:
Всем привет. Возник вопрос, как сделать так чтобы 3 созданных мною потока выполнялись на одном ядре, мне нужно это чтобы при изменении приоритетов каждого из них я видел разницу в их работе, а то так я ее не наблюдаю.. Код приводить смысла нет(он довольно таки большой и тут не к месту). Просто прошу обьяснить/сбросить ссылку(нормальную)/написать функцию или метод который бы делал так чтобы три мною созданных потока или массив потоков выполнялся на одном ядре.Заранее спасибо
Решение задачи: «Распределение потоков по ядрам»
textual
Листинг программы
void SetThreadAffinity(int mask) { int threadId = GetCurrentThreadId(); var currentThread = Process.GetCurrentProcess() .Threads .OfType<ProcessThread>() .Where(t => t.Id == threadId) .Single(); currentThread.ProcessorAffinity = new IntPtr(mask); } [DllImport("kernel32.dll")] static extern int GetCurrentThreadId();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д