我使用这样的结构与24年3月10日Linux内核的ARM机器 :
CPU_ZERO(&affinity);
CPU_SET(3, &affinity);
pthread_t thread = pthread_self();
iErr = pthread_setaffinity_np(thread, sizeof(cpu_set_t), &affinity);
IERR是22和pthread_setaffinity_np失败。 在x86代码工作完美。 如果我的线程关联性设置为核心0它的工作原理。
现在我认为这是关系到我的问题 ,以下说明输出1,即使CPU有4个内核。
iNumProc = sysconf(_NPROCESSORS_CONF);
iNumProc = get_nprocs();
我开始觉得两个问题是相关的。
所以我的想法(由一个评论建议)是核1,2,3保持睡眠状态,我需要手动问他们醒过来,然后求调度程序把一些线程他们。
在这种情况下,你有什么想法如何手动唤醒设置亲和力之前内核? 在Linux上工作的任何解决方案/ Android的就可以了。