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