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