<分区>
比如我做两个线程:
ExampleThread t1 = new ExampleThread();
ExampleThread t2 = new ExampleThread();
t1.start();
t2.start();
然后每个线程中的 run() 中的任何内容都已完成。然而,我知道我仍然可以打电话,比如说,
t1.exampleMethod();
在 run() 完成之后。这是否适用于它自己的核心?
谢谢。
<分区>
比如我做两个线程:
ExampleThread t1 = new ExampleThread();
ExampleThread t2 = new ExampleThread();
t1.start();
t2.start();
然后每个线程中的 run() 中的任何内容都已完成。然而,我知道我仍然可以打电话,比如说,
t1.exampleMethod();
在 run() 完成之后。这是否适用于它自己的核心?
谢谢。
最佳答案
首先,您不想扩展 Thread 而是实现 Runnable,实际上这样做可能有助于消除您的一些困惑,因为即使 t1 扩展了一个 Thread,您调用一个方法也会 不在该线程上运行,即 t1 线程,而是在调用它的线程中运行。
另请注意,“线程运行完成后”,线程不再运行——它完成了,消失了,kaput。
关于java - 从特定线程调用方法是否会自动使其在单独的核心上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35331894/