小编Nix*_*Nix的帖子

如何获得固定大小的队列

我想在 java 中创建一个固定大小的队列,我只想在队列中存储最多 10 个对象。但是,队列继续存储/添加对象并忽略if条件。

我的代码:

Queue<Customer> sitt = new LinkedList<Customer>();
if(sitt.size() < 10) {
System.out.println("Added");
((LinkedList<Customer>)sitt).offer(cust); 
}else {
System.out.println("No space..");
}
Run Code Online (Sandbox Code Playgroud)

我有另一个 Runnable 类,我正在运行 22 个线程。此条件应仅添加0-9Customer 类的对象。但是,sitt.size()甚至超过了 20。谁能告诉我这里有什么问题?甚至连if条件都被忽略了。

PS:我在这里使用 Queue 的原因是因为我需要 FIFO。

java multithreading java.util.concurrent

1
推荐指数
1
解决办法
1788
查看次数