有人可以解释为什么在JVM中运行的每个线程中,一次只有一个方法可以处于活动状态吗?为什么不是两三个,而只有一个?
答案 0 :(得分:6)
根据定义,线程是以顺序方式执行代码的东西。所以没有办法在一个线程中执行多个方法。如果要并行执行两个或多个方法,请使用多个线程。您可能需要查看Java concurrency tutorial以了解线程的基础知识。
答案 1 :(得分:3)
每个线程同步运行代码。一旦线程完成当前的工作分配,线程只能完成更多的工作。
至于为什么一次只能有一个方法'活动',方法可以调用其他方法或返回。一旦方法返回,它显然不再活动,类似地,一旦方法调用另一个方法,被调用的方法就变为活动方法。
答案 2 :(得分:2)
线程存在的全部原因是,您可以同时执行多个操作。每个线程都有自己的堆栈和程序计数器,因此它可以随时在代码中的一个位置。
答案 3 :(得分:2)
每个时钟周期有多个指令,方法内联,CPU流水线操作和指令重新排序,单个线程可以同时执行多个方法的指令,但只有当你看不出任何区别时才应该这样做。即想法是在不改变行为的情况下提高绩效。