【发布时间】:2011-07-01 14:42:29
【问题描述】:
我正在努力让多线程应用程序在多个内核上运行。我研究了亲和力、调度等。有没有办法找出任何线程正在运行的 CPU Id?我现在正在使用 sched_getaffinity - 但我认为这与进程 ID 有关,而不是进程中的线程。多线程应用在 Windows 上运行良好,但在 linux 上似乎受 CPU 限制(仅使用一个 CPU)
更新:
如果我的 linux 应用程序启动 64 个线程 - 我仍然只有一个 pid 对吗?我仍然理解每个启动的线程都可以在目标硬件上的不同 CPU/内核上运行,对吧?
这里有一个示例应用程序:How do I make a multi-threaded app use all the cores on Ubuntu under VMWare?
【问题讨论】:
标签: linux multithreading pthreads