Android 我们是否可以在同步块中使用优先级队列来确保线程安全,而不是使用PriorityBlockingQueue

Android 我们是否可以在同步块中使用优先级队列来确保线程安全,而不是使用PriorityBlockingQueue,android,priority-queue,Android,Priority Queue,在我的android应用程序中,我在同步块中使用PriorityQueue,所以它是线程安全的吗?我找不到我问题的答案。 AndroidDoc本身说“优先级队列未同步。如果多个线程必须同时访问它,请使用PriorityBlockingQueue。 我们在synchronizes块中写入的任何内容都是线程安全/同步的。 所以我使用的方法是正确的还是需要实现PriorityBlockingQueue? 请帮帮我。提前感谢如果您对PriorityQue的所有访问都在同一个对象上同步,那么它将是线程安全

在我的android应用程序中,我在同步块中使用PriorityQueue,所以它是线程安全的吗?我找不到我问题的答案。 AndroidDoc本身说“优先级队列未同步。如果多个线程必须同时访问它,请使用PriorityBlockingQueue。 我们在synchronizes块中写入的任何内容都是线程安全/同步的。 所以我使用的方法是正确的还是需要实现PriorityBlockingQueue?
请帮帮我。提前感谢

如果您对PriorityQue的所有访问都在同一个对象上同步,那么它将是线程安全的。您有什么理由不想使用已经提供的PriorityBlockingQue,它已经通过API进行了同步,并且在使用时不太容易出错?

我只是想知道PriorityQue with synchronized block和PriorityBlockingQue之间的区别。从性能上看,它们可能是相似的,但您必须做出相应的改进确保您始终同步访问,而PriorityBlockingQue已经完成。对于您的建议,还有一些额外的工作要做,但没有真正的好处。您还应该在本例中将响应标记为已接受,以让其他人知道它已被回答,他们不应该再次尝试回答。我参考了PriorityBlockingQue的代码,他们中的大多数人都在新线程中使用了put()和take(),真的需要吗?如果PriorityBlockingQue本身处理所有事情,那么为什么要使用新线程来添加和获取PriorityBlockingQue中的条目呢?你能给我提供一些好的代码来实现PriorityBlockingQue吗?在我看来,作为平台一部分的数据结构类已经过适当的测试,并且涵盖了所有的关键情况。除非它们不提供您需要的特定功能,否则我只会使用它们。