Files
JavaBasiceDemo/concurrent/src/main/java/concurrent/queue/BlockingQueueTestWork.java
T
2022-04-15 11:08:06 +08:00

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("添加成功");
}
}