关于启动一个线程监控队列的替代方案
项目背景:
操作对象:一个定长的任务队列
队列状态:任务队列中的任务会在一定时间后完成,完成后需要移出队列,然后重新计算队列剩下的长度。
队列的操作大致分为两类:
一类是查询队列状态,看队列里面还剩下的空间。
另一类是队列插入操作,如果队列已经满了,就插入失败。
一个普通的思路是通过启动一个线程来监控队列中是否有任务完成,如果有任务完成,就移出队列,队列长度加一。
另外一个思路就是只在进行上面两个操作的时候才检查队列,得出的结果就是一样的。这种方式更容易实现。
感觉就像哲学里面的非主流的世界观,当你不在看这个世界的时候,这个世界会变成千奇百怪的样子。当你回头再次观察这个世界的时候,这个世界又像一个调皮的孩子把一切恢复的原模原样。你以为世界一直按照一个规则在运行,其实这是一个假象。。。。