我想知道哪个线程首先进入了PriorityBlockingQueue。
我正在创建myNode类型的PriorityBlockingQueue。每个myNode都有一个AtomicBoolean锁和一个Priority字段。 myNode基于优先级实现可比较。
我有多个线程正在运行。每个线程一旦启动,将创建其myNode并将其节点添加到PriorityBlockingQueue。
现在我想在第一个线程上以不同的方式处理在PriorityBlockingQueue上执行添加操作。 我可以检查队列是否为空以便知道这个然后是enq,但是有两个线程可能同时检查为空并执行enq操作。 由于优先级约束,即使enq之后此节点的索引也没有帮助。
那么,是否有一些东西可以在PriorityBlockingQueue中提供类似于AtomicBoolean中的getAndSet()的功能。
或者你可以建议我任何其他选择..
谢谢,