我在处理多线程应用程序在多个核心上的运行问题。我已经研究了亲和力、调度等方面。有没有一种方法可以找出任何线程正在运行的CPU Id?现在我正在使用sched_getaffinity,但我认为这与进程ID相关,而不是进程中的线程。多线程应用程序在Windows上运行得很好,但在Linux上似乎被CPU绑定(仅使用一个CPU)。
更新:
如果我的Linux应用程序启动了64个线程-我仍然只有一个pid,对吗?我还是理解每个启动的线程可以在目标硬件上的不同CPU / core上运行,对吗?
此处提供一个样例应用程序:如何使多线程应用程序在VMWare下的Ubuntu上使用所有核心?
更新:
如果我的Linux应用程序启动了64个线程-我仍然只有一个pid,对吗?我还是理解每个启动的线程可以在目标硬件上的不同CPU / core上运行,对吗?
此处提供一个样例应用程序:如何使多线程应用程序在VMWare下的Ubuntu上使用所有核心?