Java中的上下文切换

时间:2013-09-23 16:13:28

标签: java multithreading scheduling

在多线程Java应用程序中,如果我想识别上下文从一个线程切换到另一个线程的指令,那么最佳方法是什么?检测每条指令以识别正在执行指令的线程将给出近似的近似值。例如,如果在执行检测之后和实际instr之前发生切换。执行后,结果将是不精确的。

  • 有没有办法精确识别Java中的上下文切换位置(对于不同的运行会有所不同)?

  • 识别此问题最具成本效益的是什么?

2 个答案:

答案 0 :(得分:1)

您的问题的简短回答是You can not do it in java .JVM负责根据底层操作系统和内存模型切换上下文。

http://en.wikipedia.org/wiki/Thread_(computing)

答案 1 :(得分:0)

大多数上下文切换都是由外部中断(包括定时器)引起的。它可以在any指令处发生。实际上,分配不均匀,而是非常随机。即使您可以为每条指令收集上下文切换的概率分布,您将如何使用它?看起来你试图用不充分的手段解决一些问题。更好地说明你的真正问题是什么,我们试图建议一个解决方案。