#include <stdio.h>
#include <pthread.h>
#include <sys/sysinfo.h>
#include <unistd.h>
#include <sched.h>
void SetCpuWhich() {
int cpu_num=sysconf(_SC_NPROCESSORS_CONF);
printf("[%s]cpu_num:%d
",__FUNCTION__,cpu_num);
int cpu_which=1;
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(cpu_which,&mask);
if(sched_setaffinity(0,sizeof(mask),&mask)==-1) {
printf("[%s]sched_setaffinity false:cpu_which%d
",__FUNCTION__,cpu_which);
return;
}
else {
printf("[%s]sched_setaffinity true:cpu_which%d
",__FUNCTION__,cpu_which);
}
}
void GetCpuWhich() {
int cpu_num=sysconf(_SC_NPROCESSORS_CONF);
printf("[%s]cpu_num:%d
",__FUNCTION__,cpu_num);
cpu_set_t get;
CPU_ZERO(&get);
if(sched_getaffinity(0,sizeof(get),&get)==-1) {
printf("[%s]sched_getaffinity false
",__FUNCTION__);
return;
}
for(int i=0;i<cpu_num;i++) {
if(CPU_ISSET(i,&get)) {
printf("[%s]sched_getaffinity true:cpu_which:%d
",__FUNCTION__,i);
}
}
}