0

对不起,如果重复,(如果重复,请引导我到正确的位置)

在线程机制中,

不直接调用 run() 函数 -> 因为如果调用它会直接调用函数。因此建议调用 start。

但是如果我们可以.run,会发生什么?是否调用 run() 和 .run 相同

如果我们多次调用 .run() (3-4 次),会不会像普通的函数调用一样。

4

3 回答 3

3

如果run()直接调用,它将在同一个线程上运行。

于 2013-03-12T02:43:19.863 回答
0

如果您run()直接调用,则与进行普通方法调用没有什么不同。

于 2013-03-12T03:19:59.147 回答
0

run()只要不打算启动新线程,调用就完全有效。

事实上,线程池和调度程序就是这样做的。预先生成的线程调用或run()代替要求被调用者实现新接口。ThreadRunnable

实际上,调用 run() 将在同一个线程中执行其代码。我无法想象如果在单线程中执行会破坏任何多线程语义。

于 2013-03-12T03:22:02.077 回答