如果任何其他Thread没有调用await(),那么Thread中的某些子类可以调用Condition的函数signal()吗?

问题描述 投票:1回答:1

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

java multithreading condition reentrantlock
1个回答
1
投票

是的,即使没有等待的线程,也可以调用signal。等待线程将错过此信号,并且当它调用await()时它将被阻止。

© www.soinside.com 2019 - 2024. All rights reserved.