gpt4 book ai didi

java - 我应该用什么来解决java中的多线程问题?

转载 作者:行者123 更新时间:2023-12-01 18:22:37 27 4
gpt4 key购买 nike

我对java中的线程非常陌生。在我的应用程序中,我将有一个线程(生产者),它将对输入数据进行一些处理,并不断将 String 对象添加到名为 A 的数据结构中(我不知道要使用什么),同时,多个消费者线程取出什么每个消费者线程都会一次取出一个对象,处理它并将其放入另一个名为 B 的数据结构中。我已经阅读了有关线程和线程安全数据结构的信息,但我不知道哪一个最适合我的情况。建议我不要使用阻塞数据结构,例如BlockingQueue,但没有很好地解释原因。有人可以向我解释原因并推荐适合 A 和 B 的数据结构吗?

我正在考虑对 A 使用 LinkedList,对 B 使用 Treeset。我的方向正确吗?

最佳答案

BlockingQueue 是实现生产者-消费者模式的首选工具。请参阅 Java Concurrency in Practice ,第 5 章,了解更多详细信息。

启动像 LinkedListTreeSet 这样的非线程安全数据结构在这里绝对是错误的。我不知道为什么你的同事建议避免阻塞,但如果你尝试这样做,你几乎肯定会在此过程中重新发明阻塞数据结构,而且可能会很糟糕。

在您成为专家之前,请坚持标准路径...

关于java - 我应该用什么来解决java中的多线程问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27232860/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com