Java - 在现有线程上运行runnable?

Kev*_*ker 1 java java-ee

我试图从生成的子接口回调切换回现有的线程.有谁知道怎么样?回调实现总是从调用它的子线程运行,而不是实现类...

Yai*_*sky 5

你是什​​么意思转回来?
导致上下文切换将返回到生成子线程的"原始"线程?
如果是这样,这是不可能的.它与多线程概念相矛盾.
如果你想在"原始"线程上完成一些工作,当"子"线程正在运行时,
你可以考虑在子线程和原始线程之间建立一个队列(即 - 生产者/消费者).
子线程将在队列中放置"作业","原始"线程将使用它.
但是,"原始"线程将不得不阻止"子"线程.

实现这个的另一种方法是使用wait和notify,(子线程将通知) - 但原始线程将再次等待.

最后一种方法是简单地等待子线程执行结束,如果要在子线程执行结束时返回原始线程.问题是 - 正在等待原始线程在你的场景中是否可以接受?