import com.israfil.foundation.concurrency.ConcurrencyUtils;
import com.israfil.foundation.concurrency.TaskExecutor;
import com.israfil.foundation.concurrency.SynchronizedList;
public class ConcurrencyExample {
public static void main(String[] args) {
TaskExecutor executor = new TaskExecutor(2);
SynchronizedList<String> list = new SynchronizedList<>();
list.add("Task 1");
list.add("Task 2");
list.add("Task 3");
list.add("Task 4");
executor.execute(() -> {
while (!list.isEmpty()) {
String task = list.remove(0);
System.out.println("Executing " + task);
}
});
ConcurrencyUtils.waitAll();
System.out.println("All tasks completed");
}
}