BAEL-6721 move code to concurrency basic folder

This commit is contained in:
Sam Gardner
2023-07-17 15:57:24 +01:00
parent 923744bf61
commit 0d0e39795c
7 changed files with 7 additions and 7 deletions

View File

@@ -0,0 +1,45 @@
package com.baeldung.concurrent.notificationforcompletetask;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
import org.junit.Test;
public class NotificationsForCompleteTasksUnitTest {
@Test
public void whenImplementingRunnable_thenReceiveNotificationOfCompletedTask() {
Task task = new Task();
Callback callback = new Callback();
RunnableImpl runnableImpl = new RunnableImpl(task, callback, "ready for next task");
runnableImpl.run();
}
@Test
public void whenUsingCompletableFuture_thenReceiveNotificationOfCompletedTask() {
Task task = new Task();
Callback callback = new Callback();
CompletableFuture.runAsync(task)
.thenAccept(result -> callback.taskDone("completion details: " + result));
}
@Test
public void whenUsingThreadPoolExecutor_thenReceiveNotificationOfCompletedTask(){
Task task = new Task();
Callback callback = new Callback();
AlertingThreadPoolExecutor executor = new AlertingThreadPoolExecutor(callback);
executor.submit(task);
}
@Test
public void whenUsingFutureTask_thenReceiveNotificationOfCompletedTask(){
Task task = new Task();
Callback callback = new Callback();
FutureTask<String> future = new AlertingFutureTask(task, callback);
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.submit(future);
}
}