Gunakan sched_setaffinity di tingkat proses, atau pthread_attr_setaffinity_np untuk masing-masing utas.
Anda perlu menggunakan sched_setaffinity(2)
.
Misalnya, untuk berjalan di CPU 0 dan 2 saja:
#define _GNU_SOURCE
#include <sched.h>
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(0, &mask);
CPU_SET(2, &mask);
int result = sched_setaffinity(0, sizeof(mask), &mask);
(0
untuk parameter pertama berarti proses saat ini, berikan PID jika itu adalah proses lain yang ingin Anda kontrol).
Lihat juga sched_getcpu(3)
.