Единственный способ принудительно запустить конкретный поток - использовать привязку к процессу / потоку, но я не могу представить, чтобы когда-либо возникала проблема, для которой это было бы разумным решением.
Единственный способ принудительно вызватьпереключение контекста заключается в принудительном использовании потока на другом процессоре с использованием сходства.
Другими словами, то, что вы пытаетесь сделать, на самом деле нереально. приведет к переключению контекста, если есть готовый к запуску другой поток, который может работать на этом процессоре.В документации говорится следующее:
Если при вызове функции SwitchToThread операционная система переключает выполнение на другой поток, возвращаемое значение отлично от нуля.
Если других потоков нетготов к выполнению, операционная система не переключает выполнение на другой поток, и возвращаемое значение равно нулю.