黑马程序员技术交流社区

标题: 多线程2 [打印本页]

作者: 小白进阶之路    时间: 2017-12-28 12:10
标题: 多线程2
4)利用线程池创建多线程的方式

Executors.newFixedThreadPool(3).execute(new Runnable() {
    @Override
    public void run() {
        System.out.println("newFixedThreadPool_" + Thread.currentThread().getName());
    }
});
Executors.newCachedThreadPool().execute(new Runnable() {
    @Override
    public void run() {
        System.out.println("newCachedThreadPool_" + Thread.currentThread().getName());
    }
});
Executors.newScheduledThreadPool(3).execute(new Runnable() {
    @Override
    public void run() {
        System.out.println("newScheduledThreadPool_" + Thread.currentThread().getName());
    }
});



Callable/Runnable区别
实现方法名称不一样,Callable规定的方法是call(),Runnable规定的方法是run()。

Callable的任务执行后可返回值,而Runnable的任务是不能返回值得。

call()可以抛出异常,run()不可以。

运行Callable任务可以拿到一个Future对象,表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。通过Future对象可以了解任务执行情况,可取消任务的执行,还可获取执行结果。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2