在Linux内核中,long work_on_cpu(unsigned int cpu, long (*fn)(void *), void *arg)
用于分配在特定CPU内核上运行的函数。是否有任何等效的用户空间功能?
答案 0 :(得分:5)
不,没有,内核提供的执行上下文与用户空间的执行上下文完全不同。
你能做的是。
pthread_create()一个新主题。
使用pthread_setaffinity_np()
如果你需要一个与内核相似的API,你需要使用上面的方法创建一个小的工作线程池,每个CPU一个,并创建必要的管道代码,以便能够请求调用函数在其中一个工作线程上。