线程的简单运用(二)
Java5之前使用线程 是实现Runnable接口,没有返回值。
现在可以实现Callable接口,实现有返回值的线程。
以下是使用实例:
业务代码:
import java.util.concurrent.Callable; public class MyCallable implements Callable{ private String oid; MyCallable(String oid) { this.oid = oid; } @Override public Object call() throws Exception { return oid+"任务返回的内容"; } }
测试代码:
import java.util.concurrent.*; //Java线程:有返回值的线程 public class Test { public static void main(String[] args) throws ExecutionException, InterruptedException { //创建一个线程池 ExecutorService pool = Executors.newFixedThreadPool(1); //创建两个有返回值的任务 Callable c1 = new MyCallable("A"); Callable c2 = new MyCallable("B"); //执行任务并获取Future对象 Future f1 = pool.submit(c1); Future f2 = pool.submit(c2); //从Future对象上获取任务的返回值,并输出到控制台 System.out.println(">>>"+f1.get().toString()); System.out.println(">>>"+f2.get().toString()); //关闭线程池 pool.shutdown(); } }
运行测试代码打印结果为:
>>>A任务返回的内容
>>>B任务返回的内容
相关推荐
老师写的一个简单的打字游戏,运用了多线程开发,功能简单,适合初学者
使用同步器作为多线程中级教材,主要是对上一套初级教程做一个简单的总结, 并且对接下来脚本的线程处理,及监控线程起到一个较高的实际认知。 对多线程基 础及后续多线程课程有承前启后的作用 主要学习内容: 1....
简单的多线程程序,简单的创建一个多线程程序,在图像采集等领域有较好的运用,例子是多线程打印输出一些文字,适合初学者。
本例中简单运用了线程间通信原理,简单明了,适合初学线程通信
简单的龟兔赛跑,运用多线程,在jdk8编写
运用多线程的技术,在极短的时间内获取大量的ip进行筛选。架构也比较清楚,方便大家学习参考 需要主要的是,代理ip获取成功后是放在redis里面的,有关redis的参数配置在baseDB里面配置。当然对于没有开redis,我也...
通过简单例子实现多线程,把界面和数据计算分开,又在其中运用定时器
本重新为vb.net多线程委托托管实例源码,主要有以下功能模块: 1.Thread多线程技术功能模块, 2.3个实例窗体如何进行委托托管及参数传输功能模块 ...程序以最简单的实例告诉你如何运用多线程及委托技术。
这是一个简单的运用多线程的程序 主要对快速排序等多个算法进行比较
java编译的控制台版多人简易聊天程序,运用了ServerSocket和Socket网络编程,还用了多线程,I/O流等技术.可以私聊,可以群聊!
(当然,这只是一个线程的简单应用,如果只是需要更改背景色其实没必要用线程,完全可以用Time控件之类的实现。但本实例的主要目的是让大家清楚线程在Silverlight中应用的方法,方便大家以后运用与扩展)
用java多线程模拟一个简单的时钟程序,希望大家提出宝贵意见。
这段代码跟我前面发的代码都是一个人写的,采用的就是传统意义上的单线程异步通讯模式,涉及到窗体的运用,有托盘图标的闪烁等等。代码不长,挺简单,只有两个form和一个公用类,相信想做关于C#窗体应用程序开发的...
Java多线程设计模式,通过对多线程环境的分析,抽象出典型的多线程模型,结合Java编程语言的特性,总结出经典的多线程设计模式,通过本资料的学习,足以让您掌握如何使用JAVA...简单明了,帮助深入理解,从而灵活运用。
从简单到复杂让你深刻了解C#线程的精髓知识,让你在以后的开发中线程运用娴熟。
简单的龟兔赛跑,运用多线程,在jdk8编写
这是一个用java写的简单抽奖器,运用多线程技术,并且通过读取文件控制各奖项的上限,内含详细代码及使用说明。
多线程环境 在我们的产品 SE 中,出现...我也曾经简单的将该方法运用于多线程的异常捕获,结果并非如此,代码如下: 代码如下: public static void Main() { try { new Thread (Go).Start(); } catch (Exception ex) {
本次课程设计的时间为1周,目的是通过实际的题目巩固学生对面向对象程序设计概念的理解和MFC的运用,掌握VC++开发应用程序的基本方法,进一步提高学生综合运用所学知识的能力。课程设计的内容及要求。