BAEL-2408 Java Project Loom

This commit is contained in:
Chirag Dewan 2019-01-15 17:14:03 +05:30
parent c8fb78143e
commit 2e2f3bc4a9
2 changed files with 55 additions and 0 deletions

View File

@ -0,0 +1,22 @@
package com.baeldung.loom;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class AsyncThreads {
public static void main(String[] args) throws ExecutionException, InterruptedException {
CompletableFuture<Void> cf = CompletableFuture.runAsync(() -> {
System.out.println("Hello " + Thread.currentThread().getName());
});
cf.thenRun(() -> {
System.out.println("World " + Thread.currentThread().getName());
});
cf.get();
}
}

View File

@ -0,0 +1,33 @@
package com.baeldung.loom;
public class BlockingThreads {
private static final Object LOCK = new Object();
public static void main(String[] args) throws InterruptedException {
Thread thread1 = new Thread(() -> {
synchronized (LOCK) {
System.out.println("Hello " + Thread.currentThread().getName());
LOCK.notify();
}
});
Thread thread2 = new Thread(() -> {
synchronized (LOCK) {
try {
System.out.println("Will wait for thread1 now...");
LOCK.wait();
System.out.println("World " + Thread.currentThread().getName());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread2.start();
thread1.start();
}
}