<dependency>
<groupId>org.usm.concurrent</groupId>
<artifactId>usm-concurrency</artifactId>
<version>1.0.0</version>
</dependency>
import org.usm.concurrent.Scheduler;
public class OrderProcessor implements Runnable {
private String orderId;
public OrderProcessor(String orderId) {
this.orderId = orderId;
}
@Override
public void run() {
System.out.println("Processing order: " + orderId);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Order processed: " + orderId);
}
public static void main(String[] args) {
Scheduler scheduler = new Scheduler();
OrderProcessor order1 = new OrderProcessor("order-1");
OrderProcessor order2 = new OrderProcessor("order-2");
OrderProcessor order3 = new OrderProcessor("order-3");
scheduler.addTask(order1);
scheduler.addTask(order2);
scheduler.addTask(order3);
scheduler.start();
}
}
Processing order: order-1
Processing order: order-2
Processing order: order-3
Order processed: order-2
Order processed: order-1
Order processed: order-3