今天才知道java.util.concurrent是一个非常有用的包,如果提前一个月知道的话,就可以把上一个工程做的更好一些。
java.util.concurrent.Callable是一个接口,里面只有一个方法被call。通常应该在这个方法中执行一些消耗时间的活动。
java.util.concurrent.Future实现了java多线程中的Future Pattern。通常用法:
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<String> future = executor.submit(new TimeConsumingTask());//实现了Callable
Future<String> future = executor.submit(new TimeConsumingTask());//实现了Callable
Future<String> future = executor.submit(new TimeConsumingTask());
......
......
......
......
future.get();
java.util.ExecutorService 是一个核心类,通常由Executors提供的工厂方法产生,可能是一个单独的线程(Executors.newSingleThreadExecutor())
也可能是一个线程池Executors.newFixedThreadPool(10);