我需要制作一个有两个主题的应用。 一个将生成数据(文件路径和要为该路径执行的操作 - 创建/更新/删除),另一个线程将需要使用此数据并实际执行任务。
为此,我想有一个队列,从一个线程将数据放入其中,从另一个线程中取出项目并按顺序执行操作。
我的问题是如何使这些数据在这些线程之间可共享,然后如何在等待数据放入队列时使第二个线程阻塞?只需要一段时间检查队列是否为空就会像疯了一样吃CPU。每隔几毫秒或几秒钟添加一次“睡眠”就不会有效。
如何做到这一点?任何实现此类数据的库?
答案 0 :(得分:5)
有几个例子: