如果我知道我想要通知的线程的ID,并且不共享其他公共(public)资源,我可以通知它吗? 这两个线程都是由同一个应用程序启动的。
另一个线程通过使用 Thread.currentThread().wait(500); 进入等待状态
最佳答案
是的 - 但您必须停止使用wait
.
该技术是维持 Map<String,BlockingQueue>
包含每个正在运行的线程的队列。 String
key 是线程 ID。
当您希望线程暂停时,请使用 queue.poll(long, TimeUnit)而不是wait
。你只需要在队列中放入一些东西来唤醒线程,显然如果你知道线程的ID,你可以轻松获得它的Queue
来自Map
.
关于java - 不共享公共(public)资源的线程是否可以根据线程 ID/名称进行通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22066619/