如果任何其他线程未调用 await(),Thread 的某些子类是否可以调用 Condition 的函数 signal()?

Can some subclass from Thread call Condition's function signal() if any other Thread isn't call await()?

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

是的,即使没有等待线程也可以调用 signal。等待线程将错过此信号,并且在调用 await().

时会被阻塞