Применяется ли сходство процессоров, установленное SetThreadAffinityMask, также к дочерним потокам? - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть приложение, которое использует много потоков, один из которых более критичен по времени, чем другие.Я уже пробовал использовать приоритет, но обнаружил, что Windows не всегда соблюдает приоритет в той степени, в которой я хотел бы, и иногда позволяет приоритетным потокам арендодателя блокировать мой критический поток на длительные периоды (более 50 миллисекунд).Чтобы решить эту проблему, я думаю об установке привязки процессора для каждого потока, чтобы ограничить некритические, чтобы они не могли использовать некоторые ядра (скажем, ядра № 1 и № 2), и критический поток всегда будет иметь эти ядра(# 1 и # 2) доступно.

Мой вопрос таков: если я установлю маску привязки процессора к моей нити точки входа через SetThreadAffinityMask () , выполните следующие потоки, созданные этой начальнойпоток наследует маску сходства?Или мне нужно вручную устанавливать сродство каждый раз, когда я создаю поток в системе?

1 Ответ

0 голосов
/ 30 сентября 2019

Я могу подтвердить, что при создании потока с помощью std :: thread с VS2015 в Windows 10 сходство потоков НЕ наследуется от потока создания.

...