摘要: 最近在看多线程方面的内容,注意到java中原来除了Runnable和Thread之外还有Callable的方式实现多线程,并且Callable还能得到子线程的返回值,这是前面两种方式所不具有的。 Callable是一个借口,并且支持泛型,我们编写多线程只需要实现这个接口,并且重写call方法,要得到Callable的返回值就要使用Future对象,Callable负责计算结果,Future负责拿到结果,具体的使用请看如下两个例子:public class CallableAndFuture { public static void main(String[] args) { ... 阅读全文
posted @ 2014-01-20 23:43 接天居士 阅读(2982) 评论(0) 推荐(0) 编辑
摘要: 1、通过thread.join()方式,注意:如果有多个子线程,需要将全部的线程先start,然后再join。代码示例如下:public class Main{ public static void main(String[] args) { long start = System.currentTimeMillis(); List list = new ArrayList(); for(int i = 0; i < 5; i++) { Thread thread = new TestThread(); thread.start(); list.add(thread); } try { 阅读全文
posted @ 2014-01-20 17:11 接天居士 阅读(468) 评论(0) 推荐(0) 编辑