如果没有其他线程调用await(),线程的某些子类可以调用Condition的函数signal()吗?

时间:2019-03-09 15:14:35

标签: java multithreading conditional-statements reentrantlock

例如,两个线程(Informer和Watcher)使用相同的列表。通知者在List中添加数据,并且如果集合为空或Informer访问列表,则Watcher无法读取集合。 如果Informer调用函数Condition.signal()但未创建或未启动Watcher(Watcher未调用Condition.await()),将会发生什么?

1 个答案:

答案 0 :(得分:1)

是的,即使没有等待线程也可以调用signal。等待中的线程将丢失此信号,并且在调用await()时将被阻塞。