我有一个存储在云上的数据库,它有我正在访问的表。该表包含" FileName"," ID"等列。访问数据库后,我将FileName保存在数据表中。这是一个图像数据库,其中FileName充当指向原始图像的指针。
我有部分代码访问数据库并从数据库下载Image。我希望一个线程执行访问数据库并将其提供给队列的任务。另一个线程将对队列中的数据执行操作,然后该项将被删除。
我正在尝试使用BlockingCollections但不确定我应该使用哪种类型的Queue。有人可以帮忙吗?
答案 0 :(得分:2)
我认为 ConcurrentQueue 正是您所寻找的。有关详细信息,请ConcurrentQueue MSDN
编辑:
您可以使用public bool TryDequeue(out T result)
方法。它基本上通过在发生时传递异常来实现try模式。
答案 1 :(得分:-1)
您可以使用Synchronized Queue。 Synchronized是标准Queue类的线程安全包装器。