作者keeperkai (keeperkai)
看板java
标题[问题] Multithreading with java
时间Thu Mar 29 03:23:00 2012
如题,小弟想请问怎麽确定OS真的能把在java中的thread分配至不同
core或者cpu. 小弟是用windows xp,但打开工作管理员只能看到一个
java process在跑。请问有没有甚麽方法能确定哪一个thread在第几
个core上面跑,或者有其他方法能验证我的OS真的有将属於同一个
java process的不同thread分配到不同core上去执行? 查了网路上的
资料看到不少都是在问怎麽控制Host OS让他尽可能将多个core拿出来
给问的人的thread去跑,而决定这些的是Host OS,但是没看到甚麽可
以验证他真的在不同core上跑的方法,不知道能不能请大家指点一下?
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.210.11
1F:→ jej:软体的thread和硬体的thread不一样吧~ OS课程好像是这样说的.. 03/29 12:16
2F:→ keeperkai:我看了一些资料 好像说java thread是使用n to n model.. 03/29 13:23
意思是你开了足够多个java thread 系统会分配多出来的kernel thread来handle他...
而且我看网路上似乎都是说java thread真的能够在不同core上平行执行...我想问的是
怎麽确定他有确实的把它分配到不同的kernel thread?
※ 编辑: keeperkai 来自: 140.113.210.11 (03/29 13:25)
3F:推 Chikei:自己写JNI呼叫OS的API 03/29 15:29