首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java进程与线程关联线程

Java进程与线程关联线程
EN

Stack Overflow用户
提问于 2013-11-17 11:26:07
回答 1查看 215关注 0票数 0

最近,我编写了一些code1,试图使用JNA调用sched_setaffinity,试图将流程的亲和力设置为特定的核心。函数sched_setaffinity的第一个参数是进程id。

用pid作为0调用函数(引用进程本身)工作得很好。但是,我希望能够根据线程id而不是进程来设置关联。有什么办法我能做到吗?

  1. https://github.com/eQu1NoX/JavaThreadAffinity/blob/master/src/com/threads/ctest.c
  2. https://github.com/eQu1NoX/JavaThreadAffinity/blob/master/src/com/threads/ThreadAffinity.java
EN

回答 1

Stack Overflow用户

发布于 2013-11-17 12:33:04

有一个名为np的函数可以将线程的CPU关联掩码设置为cpuset所指向的CPU集。

代码语言:javascript
复制
cpu_set_t cpuset;
CPU_ZERO(&cpuset);
CPU_SET(core_id, &cpuset);

pthread_t current_thread = pthread_self();    
pthread_setaffinity_np(current_thread, sizeof(cpu_set_t), &cpuset);

这段代码可以将线程设置为核心(由core_id表示)。

据我所知,Java线程并不总是与操作系统中的线程相匹配。因此,我不太确定这段本机代码是否可以帮助您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20030070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档