Saint Asked:2020-11-24 17:03:45 +0000 UTC2020-11-24 17:03:45 +0000 UTC 2020-11-24 17:03:45 +0000 UTC 链接阻塞队列。如何将元素添加到队列中,删除最旧的元素? 772 例如,我们设置 size LinkedBlockingQueue= 2。当我们尝试放入第三个元素时,尝试放入数据的线程挂起。如何使当您尝试放入第三个元素时,删除最旧的元素,并将新元素添加到队列中。 也许这甚至有一个特殊的队列? java 1 个回答 Voted Best Answer SomeFire 2020-11-24T20:02:45Z2020-11-24T20:02:45Z LinkedBlockingQueue- 这是一个特殊的队列,它的任务是阻塞流,而不是丢弃第一个传入的元素。 对于您的任务,在您的代码中编写一个简单的方法来插入一个值(或创建一个继承者LinkedBlockingQueue并覆盖插入)就足够了:检查当前元素的最大值并在这种情况下删除第一个元素。 或者通过添加具有最大值的构造函数并覆盖插入来创建任何并发队列的后代。
LinkedBlockingQueue- 这是一个特殊的队列,它的任务是阻塞流,而不是丢弃第一个传入的元素。对于您的任务,在您的代码中编写一个简单的方法来插入一个值(或创建一个继承者
LinkedBlockingQueue并覆盖插入)就足够了:检查当前元素的最大值并在这种情况下删除第一个元素。或者通过添加具有最大值的构造函数并覆盖插入来创建任何并发队列的后代。