На каком ядре выполняется задача? - PullRequest
2 голосов
/ 25 июня 2011

Можно ли определить, на каком ядре выполняется задача в TPL?

Ответы [ 2 ]

3 голосов
/ 25 июня 2011

Насколько я знаю, вы не можете получить текущее ядро, на котором работает ваш поток, однако вы можете установить поток для работы на определенном ядре.

Чтобы установить поток на определенный процессор или ядро, вы можете использовать System.Threading.Thread.BeginThreadAffinity() или получить процессорный поток System.Diagnostics.ProcessThread "поток ОС, работающий на процессор и представлен .net управляемым потоком ", затем используйте processThread.ProcessorAffinity" Не то, чтобы processThread.ProcessorAffinity было set only свойство ".

1 голос
/ 25 июня 2011

Нет, потому что, если процессор внезапно изменится в середине функции, возвращающей значение?

...