0

我正在实现一些功能,其中我在数据库上获得一组查询一个不应该在一段时间内松开查询让我们说大约 5 分钟,除非并且直到查询执行良好(这是在数据库关闭的情况下,我们不松开查询)。所以,我想做的是通过不同的线程为每个查询设置一种计时器,并在那个时间范围内等待它,最后如果它仍然存在,将它从队列中删除,但是,我对此解决方案不满意,因为我必须创建与查询数量一样多的线程。有没有更好的方法来设计这个(环境是vc++),如果问题不清楚,请告诉我,我会尝试更好地框架它。

4

1 回答 1

0

一个线程足以让我们每 10 秒检查一次,您的队列中没有查询,其到期时间已到,因此应该中止/回滚。

队列通常从一端增长并从另一端删除,因此您只需检查最旧项目所在端的查询是否未达到其到期时间。

于 2013-02-20T10:38:55.400 回答