目前我有一个算法,有点像网络蜘蛛或文件搜索系统——它有一组要处理的元素,处理元素可以导致更多元素排队。
然而这个算法是单线程的——这是因为我从数据库中获取数据并且希望一次只有一个数据库连接。在我目前的情况下,性能并不重要 - 我这样做只是为了可视化目的以简化调试。
对我来说,使用队列抽象似乎很自然,但是似乎使用队列意味着多线程 - 据我了解,大多数标准 java 队列实现都驻留在 java.util.concurrent 包中。
我知道我可以继续使用任何支持拉取和推送的数据结构,但我想知道在这种情况下使用哪种数据结构更自然(可以在单线程应用程序中使用队列吗?)。