阻塞问题
[解决办法]
板凳
[解决办法]
地板
三联
[解决办法]
你这个可能会造成死锁的, 鸟线程先阻塞等待主线程唤醒,然后唤醒主线程;主线程也阻塞等待鸟或者鱼线程唤醒再唤醒它们,这个同步顺序会造成条件性的死锁
建议,你的模型可以建得更加简单,把时间控制的部分抽出来放到主线程里,不要混杂在生产者和消费者里
[解决办法]
countdown了之后,鸟线程和鱼线程在wait之前,主线程就notify过了,你就死锁了。
多线程本身控制起来比较麻烦,你不应该把这么多条件变量引入到同步的过程中,很容易出现死锁的,而且这种和时间有关的设计,本身不应该是这样的,你可以试着把time这个东西抽出来专门做一个更新线程来控制,不要在主线程里做同步了