55 lines
1.3 KiB
Java
55 lines
1.3 KiB
Java
package concurrent.queue;
|
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.SneakyThrows;
|
|
|
|
import java.util.concurrent.ArrayBlockingQueue;
|
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
|
|
|
@AllArgsConstructor
|
|
public class BlockingQueueTestWork extends Thread {
|
|
ArrayBlockingQueue<Integer> arrayBlockingQueue;
|
|
Integer methodNumber;
|
|
|
|
@SneakyThrows
|
|
@Override
|
|
public void run() {
|
|
switch (methodNumber) {
|
|
case 1:
|
|
offerTest();
|
|
break;
|
|
case 2:
|
|
addTest();
|
|
break;
|
|
case 3:
|
|
putTest();
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void offerTest() {
|
|
ConcurrentLinkedQueue<Integer> concurrentLinkedQueue = new ConcurrentLinkedQueue<>();
|
|
boolean offer = arrayBlockingQueue.offer(1);
|
|
if (!offer) {
|
|
System.out.println("队列满了");
|
|
return;
|
|
}
|
|
System.out.println("添加成功");
|
|
}
|
|
|
|
public void addTest() {
|
|
boolean offer = arrayBlockingQueue.add(1);
|
|
if (!offer) {
|
|
System.out.println("队列满了");
|
|
return;
|
|
}
|
|
System.out.println("添加成功");
|
|
}
|
|
|
|
public void putTest() throws InterruptedException {
|
|
arrayBlockingQueue.put(1);
|
|
System.out.println("添加成功");
|
|
}
|
|
}
|
|
|