Jdk1.5中的多线程。
主要是在java.util.concurrent包中 ,其中几个重要的类对比如下
5.0 1.4
ExecutorService 取代 Thread
Callable Future 取代 Runnable
Lock 取代 Synchronized
SignalAll 取代 notifyAll()
await() 取代 wait()
Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。Callable和Runnable有几点不同:
Callable规定的方法是call(),而Runnable规定的方法是run().
Callable的任务执行后可返回值,而Runnable的任务是不能返回值的。
call()方法可抛出异常,而run()方法是不能抛出异常的。
Future对象可以获得线程运行的返回值。就是运行Callable接口后得到的结果
运行Callable任务可拿到一个Future对象,通过Future对象可了解任务执行情况,可取消任务的执行,还可获取任务执行的结果。
其中几个重要的方法:
Isdome() ------------------判断该线程是否已经正常结束
isCannel()-----------------判断该线程已经退出
cannel()--------------------退出该线程,用于一些死线程的退出
get()------------------------获得所要返回的结果
public class DoCallStuff implements Callable{ // *1
private int aInt;
public DoCallStuff(int aInt) {
this.aInt = aInt;
}
public String call() throws Exception { //*2
boolean resultOk = false;
if(aInt == 0){
resultOk = true;
} else if(aInt == 1){
while(true){ //infinite loop
System.out.println("looping....");
Thread.sleep(3000);
}
} else {
throw new Exception("Callable terminated with Exception!"); //*3
}
if(resultOk){
return "Task done.";
} else {
return "Task failed";
}
}
}
*1: 名为DoCallStuff类实现了Callable,String将是call方法的返回值类型。例子中用了String,但可以是任何Java类。
*2: call方法的返回值类型为String,这是和类的定义相对应的。并且可以抛出异常。
*3: call方法可以抛出异常,如加重的斜体字所示。
分享到:
相关推荐
1. **JDK 1.5 版本**: JDK 1.5,代号为" Tiger",是Java历史上的一个重要里程碑。它于2004年9月30日正式发布,引入了许多新的特性,如自动内存管理的增强(例如泛型、枚举、变量类型推断、增强的for循环),对XML...
Java Development Kit(JDK)是Java编程语言的核心组件,它为开发者提供了编译、调试和运行Java应用程序所需的所有工具。...文件"jdk-1_5_0_17-windows-x64.exe"就是用于安装这个特定版本的JDK的可执行文件。
`jdk-1_5_0_22-linux-amd64.rpm`文件就是专门为Linux的AMD64架构设计的JDK1.5 RPM安装包。以下是安装步骤: 1. **检查系统兼容性**:确保你的Linux发行版是基于RPM的,例如Fedora、CentOS或RHEL,并且系统架构是64...
JDK1.5,全称Java Development Kit 1.5,是Java平台标准版(Java SE)的一个重要版本,由Sun Microsystems在2004年9月30日正式发布。这个版本引入了大量的新特性,对Java编程语言进行了重大改进,极大地提升了开发...
JDK1.5,也称为Java 5.0,是一个重要的版本,它引入了许多新的特性和改进,对Java语言的发展产生了深远影响。 一、泛型(Generics) 在Java 5.0中,最重要的特性之一就是泛型的引入。泛型允许开发者在定义类、接口...
jdk1.5.exe jdk1.5 jdk1.5下载
至于提供的两个压缩包文件,`jdk-1_5_0_22-windows-i586-p.exe`是32位版本的JDK1.5,适用于32位操作系统的计算机。而`jdk-1_5_0_22-windows-amd64.exe`则是64位版本,用于64位操作系统。选择哪个版本取决于你的系统...
1. **泛型(Generics)**:泛型是JDK 1.5最显著的新特性之一,它允许在类、接口和方法中使用类型参数,从而提高了代码的类型安全性和重用性。这减少了在运行时可能遇到的ClassCastException。 2. **自动装箱/拆箱...
绝版jdk1.5,非常不错的资源。用起来很好。是 Java语言对Bean类属性、事件的一种缺省处理方法。例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设置新 的值。通过getName/setName来访问name属性,...
JDK1.5 全平台安装包下载 百度网盘资源 jdk-1_5_0_22-linux-amd64-rpm.bin jdk-1_5_0_22-linux-amd64.bin jdk-1_5_0_22-linux-i586-rpm.bin jdk-1_5_0_22-linux-i586.bin jdk-1_5_0_22-solaris-amd64...
这个压缩包包含了三个不同版本的JDK:JDK 1.5、JDK 1.6和JDK 1.8,其中1.5和1.6是早期版本,而1.8是最流行且广泛使用的版本之一。 **JDK 1.5(也称为Java 5.0)** JDK 1.5在2004年发布,引入了许多重要的新特性,如...
前几天上传过这个资源,因为是在jdk1.6上开发的, 测试了一下在jdk1.5上不能用, 今天重新用jdk1.5编译了一下, 这个是可以支持jdk1.5+的 将 pu-xlscommon-1.0.0.jar 添加到工程的 /lib 目录下 用法在附件中 XlsTest....
在学习和使用IBM JDK 1.5时,开发者应该熟悉其特定的命令行选项、性能调优策略以及与标准Java SE的差异。通过深入阅读IBM_jdk1.5_Guide.pdf,开发者可以掌握如何在AIX系统上部署和运行Java应用,同时利用IBM JDK 1.5...
测试可用的linux版jdk1.5,jdk-1_5_0_19-linux-i586-rpm.bin
在Windows系统中,可以通过设置环境变量`JAVA_HOME`指向所需版本的JDK,并通过`PATH`变量来控制命令行中默认使用的JDK版本。 总结来说,JDK1.5 32位绿色免安装版为Windows用户提供了便捷的Java开发和运行环境,特别...
1. **泛型(Generics)**:泛型是JDK1.5引入的最大变革之一。它允许在类、接口和方法中使用类型参数,提高了代码的类型安全性和重用性。泛型帮助程序员在编译时检查类型错误,避免了运行时的强制类型转换,使代码...
本资源提供的是JDK 1.5版本的32位安装包,适用于那些仍然需要支持较旧系统或者特定项目需求的开发者。 JDK 1.5,也被称为Java SE 5.0,于2004年9月30日正式发布,是Java发展历程中的一个重要里程碑。这个版本引入了...
JDK1.5,也被称为JDK 5.0,是一个重要的版本,它引入了许多创新特性,显著提升了开发效率和代码质量。这个版本在2004年发布,是Java发展历程中的一个里程碑。 JDK1.5的主要新特性包括: 1. **泛型(Generics)**:...
1. **下载**:你需要从Oracle官方网站或者第三方镜像站点下载适用于Linux操作系统的JDK1.5安装包。文件名为`linx_jdk1.5`可能就是这个安装包的名称。 2. **解压**:使用`tar`命令来解压下载的文件。例如,如果`linx...
jdk 1.5源码 之前csdn上有看到 但是明显大小不对了 完整的应该有56M 由于大小限制 分割成4部分上传的