在python和java中设置线程亲和性

时间:2014-12-03 13:54:56

标签: java python c++ multithreading affinity

当我使用Java或Python创建线程时,我无法在操作系统线程中找到pid。事实上,Python中的get_ident()给了我一个非常大的数字,它不能成为PID。

实际上我需要将所有其他线程的进程关联性设置为第一个处理器核心然后我想将其他核心专用于我在程序中运行的特定线程以创建实时环境。线程将少于剩余的处理器核心。

正如我在stackoverflow中读到的那样,在Java中是不可能的,并且将存在本机调用的特性。它可以用Python完成,还是必须使用C / C ++?

该程序将安装在Linux机器上。

2 个答案:

答案 0 :(得分:0)

对于java线程,特别是在Linux下,有https://github.com/OpenHFT/Java-Thread-Affinity

答案 1 :(得分:0)

我不确定我完全理解你想要什么,但是在Java中我记得我可以启动多个JVM并在不同的OS进程上运行我的java程序,使用进程间通信(套接字,管道或任何你想要)进行多核处理和同步。知道了,然后可以将进程(整个JVM)专门设置在核心上。您可以获得JVM的PID。