具体介绍如下:
在极端条件下, 需要挂起线程, 等待队列满足条件后,再去执行添加或提取 操作
待队列满足了条件之后, 通知线程去继续其挂起之前的操作.......涉及到的技术:
线程同步 与 线程间通信
可能产生死锁的分析:
在某个时刻,队列为空或者是已满, 此时生产者未能存入数据或者还在存入数据到队列中, 这就会产生使得队列出错
如果此时, 消费者对队列在进行操作就会产生死锁...书上介绍的是:开一个task去读取文件名,放到阻塞队列中,然后开一个队列根据文件名读取内容,这个应用于邮件接收下载是一样的。暂时先不说这个了,有兴趣的可以自己去看看那本书。...具体介绍如下:
// 在极端条件下, 需要挂起线程, 等待队列满足条件后,再去执行添加或提取 操作
// 待队列满足了条件之后, 通知线程去继续其挂起之前的操作......., 此时生产者未能存入数据或者还在存入数据到队列中, 这就会产生使得队列出错
// 如果此时, 消费者对队列在进行操作就会产生死锁...由于之前的生产者的操作使得队列出了问题并没有释放锁, 此时就会造成死锁