Я хотел бы предотвратить выполнение потока на более чем одном ядре, соответственно, я не хочу, чтобы при выполнении определенного потока на одном ядре не планировалось его выполнение на другом ядре.
Я использую инструкцию x86 RDTSC для генерации меток времени.Когда эта инструкция вызывается из разных ядер ЦП, могут использоваться разные счетчики меток времени, и поскольку разные счетчики не синхронизируются через ядра ЦП, могут появиться противоречивые результаты.
В окнах есть функция для принудительного вызова этогоповедение:
DWORD_PTR WINAPI SetThreadAffinityMask(
__in HANDLE hThread,
__in DWORD_PTR dwThreadAffinityMask
);
Устанавливает маску сродства процессора для указанного потока.
Ссылка MSDN
Есть ли что-топохож на unix-системы?