<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>
Java并发编程基础
本文介绍了Java并发编程的基础概念,包括java.util.concurrent包的使用,Callable接口及其call方法的应用,以及如何利用ExecutorService来管理和调度线程。通过具体的代码示例展示了如何创建线程池和执行耗时任务。
253

被折叠的 条评论
为什么被折叠?



