如果重复了,很抱歉(如果重复,请告诉我正确的位置)
在线程机制中,
-> ()函数不会被直接调用,因为如果被调用,它会直接调用函数。因此,建议调用start。
但是如果我们能.run,会发生什么呢?它调用run()和.run是相同的吗
如果我们多次调用.run() (比方说3-4次),它会像普通的函数调用一样吗?
发布于 2013-03-12 10:43:20
如果您直接调用run(),它将在同一线程上运行。
发布于 2013-03-12 11:19:59
如果直接调用run(),这与进行普通的方法调用没有什么不同。
发布于 2013-03-12 11:22:02
只要不打算启动新线程,调用run()就完全有效。
事实上,线程池和调度程序就是这样做的。预先产生的线程在Thread或Runnable中调用run(),而不是要求被调用者实现新的接口。
实际上,调用run()将在同一线程中执行它的代码。如果在单线程中执行,我无法想象任何多线程语义会崩溃。
https://stackoverflow.com/questions/15352379
复制相似问题