求工具或方法:把多线程锁在一个核上

想喝咖啡的貓 2011-11-23 03:36:59
就是把进程里的多个线程,锁到一个核里执行,求工具或方法。
...全文
123 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
kouyiSC 2011-11-24
  • 打赏
  • 举报
回复
用单核的机器。。。多线程放到一个核上执行未必能提高性能。。。

http://lovnet.iteye.com/blog/992235
HZC565835435 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hzw2312 的回复:]
不懂帮顶!!!
[/Quote]+1
BUG胡汉三 2011-11-24
  • 打赏
  • 举报
回复
不懂帮顶!!!
huntor 2011-11-24
  • 打赏
  • 举报
回复
kouyiSC 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 afer198215 的回复:]
引用 5 楼 kouyisc 的回复:

用单核的机器。。。多线程放到一个核上执行未必能提高性能。。。

http://lovnet.iteye.com/blog/992235

不是提高性能啊,测试用的,因为客户的cpu核数不确定,提供一个参考数据。
[/Quote]

这是jre的事情。。。只能帮顶了。。。
jshzw 2011-11-24
  • 打赏
  • 举报
回复
Linux 内核配置中去掉“Symmetric multi-processing support”后,重新编译内核就能保证系统跑在单CPU模式下了。至于应用程序中怎么设置,就不知道了。
想喝咖啡的貓 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kouyisc 的回复:]

用单核的机器。。。多线程放到一个核上执行未必能提高性能。。。

http://lovnet.iteye.com/blog/992235
[/Quote]
不是提高性能啊,测试用的,因为客户的cpu核数不确定,提供一个参考数据。
ChDw 2011-11-23
  • 打赏
  • 举报
回复
一般来说很难做到这个功能,JVM并不一定使用操作系统中的线程来实现java.lang.Thread的

如果一定要操作,你可以使用SetThreadAffinityMask和SetProcessAffinityMask两个API对找到线程并指定


这里关键是操作系统中的线程ID我不知道怎样取得
龙四 2011-11-23
  • 打赏
  • 举报
回复
自己写个jvm

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧