class MyThread extends Thread {
public void run() {
System.out.println("线程正在执行");
}
}
public synchronized void addValue(int value) {
this.total += value;
}
// 线程1 synchronized(resourceA) {
Thread.sleep(100);
synchronized(resourceB) {
// 操作资源A和B
}
}
// 线程2
synchronized(resourceB) {
Thread.sleep(100);
synchronized(resourceA) {
// 操作资源B和A
}
}
public class OrderProcessor extends Thread {
private final BlockingQueue<Order> orderQueue;
private volatile boolean running = true;
public OrderProcessor(BlockingQueue<Order> orderQueue) {
this.orderQueue = orderQueue;
}
@Override
public void run() {
while (running) {
try {
Order order = orderQueue.take(); // 阻塞获取订单
processOrder(order);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
break;
}
}
}
private void processOrder(Order order) {
// 订单处理逻辑:库存扣减、支付处理、物流通知等
System.out.println("处理订单:" + order.getId() + " 线程:" + Thread.currentThread().getName());
}
public void shutdown() {
running = false;
this.interrupt();
}
}
你可能想看: