Java FutureTask

import java.util.ArrayList;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;

public class Book {
	public Book() {
		ArrayList<FutureTask<String>> mFutures = new ArrayList<FutureTask<String>>();

		for (int i = 0; i < 6; i++) {
			TestThread thread = new TestThread(i);
			FutureTask<String> futureTask = new FutureTask<>(thread);
			mFutures.add(futureTask);

			new Thread(futureTask).start();
		}

		for (FutureTask<String> task : mFutures) {
			try {
				System.out.println(task.get());
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	private class TestThread implements Callable<String> {
		private int id;

		public TestThread(int id) {
			this.id = id;
		}

		@Override
		public String call() {
			System.out.println("线程:" + id + " -> 运行...");

			try {
				Thread.sleep(5000);
			} catch (Exception e) {
				e.printStackTrace();
			}

			System.out.println("线程:" + id + " -> 结束.");

			return "返回的字符串" + id;
		}
	}

	public static void main(String[] args) {
		new Book();
	}
}


Log output:

线程:2 -> 运行...
线程:3 -> 运行...
线程:0 -> 运行...
线程:5 -> 运行...
线程:4 -> 运行...
线程:1 -> 运行...
线程:0 -> 结束.
线程:5 -> 结束.
线程:4 -> 结束.
线程:1 -> 结束.
线程:2 -> 结束.
线程:3 -> 结束.
返回的字符串0
返回的字符串1
返回的字符串2
返回的字符串3
返回的字符串4
返回的字符串5


优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/615753

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。