import scalaz.concurrent.Future; import scalaz.concurrent.Promise; public class AsyncExample { public static void main(String[] args) { Future<String> future = Future.fork(() -> { Thread.sleep(1000); return "Hello, World!"; }); future.foreach(System.out::println); } } import scalaz.concurrent.Task; public class ParallelExample { public static void main(String[] args) { Task<Integer> task1 = Task.delay(() -> expensiveComputation(1)); Task<Integer> task2 = Task.delay(() -> expensiveComputation(2)); Task<Integer> combinedTask = task1.flatMap(result1 -> task2.map(result2 -> result1 + result2)); int result = combinedTask.run(); System.out.println("Result: " + result); } private static int expensiveComputation(int value) { // Expensive computation logic return value * 2; } } import scalaz.concurrent.MVar; public class ConcurrentDataStructureExample { public static void main(String[] args) { MVar<Integer> mvar = new MVar<>(); Thread producer = new Thread(() -> { mvar.put(42); // Producing a value }); Thread consumer = new Thread(() -> { int value = mvar.take(); // Consuming the value System.out.println("Value: " + value); }); producer.start(); consumer.start(); } }


上一篇:
下一篇:
切换中文