Установить привязку ядра к потоку в зиге

Каков предлагаемый способ установить базовую близость к потоку на языке программирования zig? Не могу найти ничего подобного в документах ниже:


person BoilerOnASurf    schedule 26.08.2020    source источник


Ответы (1)


Установка привязки ядра в настоящее время не реализована в стандартной библиотеке.

Поскольку zig упрощает привязку к функциям C, вы можете просто использовать @cImport() для загрузки заголовков C для конкретной платформы, содержащих функции, которые вы хотели бы использовать, например. sched.h для sched_setaffinity(2), pthread.h для pthread_setaffinity_np(3) в Linux или winbase.h для SetThreadAffinityMask, SetProcessAffinityMask в Windows.

Затем @cImport() вернет вам область, содержащую все эти функции, как если бы они были определены в Zig: https://ziglang.org/documentation/0.6.0/#Import-from-C-Header-File.

person s-ol    schedule 18.10.2020