Есть ли способ, чтобы процесс ожидания всегда занимал ядро ​​процессора сразу после уведомления - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть приложение-потребитель-потребитель, в котором я использую wait-notify в качестве стратегии ожидания для потребителя, если очередь для получения пуста. Я не хочу использовать «занятое вращение», так как он требует много ресурсов процессора. Насколько я знаю, нет способа гарантировать, что процесс ожидания всегда будет занимать ядро ​​ЦП сразу после начала уведомления. Это зависит от краткосрочного планировщика.

Я знаю о закреплении ядра в Windows. Мое приложение не работает только на нескольких известных машинах. Он может работать на любом настольном компьютере Windows, и я не хочу, чтобы пользователи жаловались на то, что из-за этого другие приложения снижают производительность. ( Pin CPU Isolation на Windows).

Я знаю, что краткосрочный планировщик постарается быть справедливым в распределении, и любое приложение, вероятно, не будет тратить необычно долгое время в состояние готовности, но я хочу знать, есть ли способ гарантировать это?

...