Java创建线程的常用的两种方法
来源:互联网 发布:防网络诈骗主题班会 编辑:程序博客网 时间:2024/06/11 15:08
1创建线程的方法-----继承Thread类
java.lang.Thread是java中用来表示线程的类,其中定义的许多方法为完成线程的处理工作提供了比较完整的功能。如果将一个类定义为Thread的子类,那么这个类也就可以表示线程。
定义一个线程类,它继承类Thread并重写其中的方法run().这时在初始化这个类的实例时,目标对象target可以为null,表示这个实例本身具有线程体。但是java只支持单继承,用这种方法定义的类不能再继承其他类。
用Thread类的子类创建线程的过程包括三步:
1. 从Thread类派生一个子类,在类中一定要实现run()方法
Class Mission extends Thread{
public voidrun(){
}
}
2. 然后用该类创建一个对象
Mission newthread = new Mission();
3. 用start()方法启动线程。
newthread.start();
public void run(){}被称为线程体,它是整个线程的核心,线程所要完成的任务的代码都定义在线程体中,
2.创建线程的方法二----实现Runnable接口
Runnable是java中用以实现线程的接口,从根本上讲,任何实现线程功能的类都必须实现该接口。前面用到的Thread类实际上就是因为实现了Runnable接口,
publicclass Thread extendsObject implements Runnable
所以它的子类才相应的具有线程功能的。
Runnable接口中只定义了一个方法就是run()方法,也就是线程体。用Runnable接口实现多线程时,也必须实现run()方法,也需要启动start()启动线程,但此时常用Thread类的构造方法来创建线程对象。
Thread的构造方法中包含有一个Runnable实例的参数。这就是说,必须定义一个实现Runnable接口的类并产生一个该类的实例,对该实例的引用就是适合于这个构造方法的参数。
class PrimeRun implements Runnable {
long minPrime;
PrimeRun(longminPrime) {
this.minPrime =minPrime;
}
public void run() {
// compute primeslarger than minPrime
. . .
}
}
然后,下列代码会创建并启动一个线程:
PrimeRun p = newPrimeRun(143);
new Thread(p).start();
每个线程都有一个标识名,多个线程可以同名。如果线程创建时没有指定标识名,就会为其生成一个新名称。
- Java创建线程的常用的两种方法
- 创建线程的两种常用方法
- 线程常用的两种创建方法
- Java创建线程的两种方法
- Java创建线程的两种方法
- Java创建线程的两种方法
- java线程的两种创建方法
- Java创建线程的两种方法
- java 创建线程的两种方法
- java---------创建线程的两种方法
- Java创建线程的两种方法
- Java线程创建的两种方法
- Java创建线程的两种方法
- Java 创建线程的两种方法
- Java 创建线程的两种方法
- Java创建线程的两种方法
- Java 创建线程的两种方法
- java创建线程的两种方法
- iOS中:分数的用法
- vc6.0控制台下写日志文件
- linux下递归删除目录下所有指定类型文件
- 2014.08.09碰到问题
- IOS中定时器NSTimer的开启与关闭
- Java创建线程的常用的两种方法
- UVA 10808 - Rational Resistors(高斯消元+并查集+分数+基尔霍夫定律)
- 安卓使用JNI输出字符和LOG输出
- oracle 集群组件概念
- VS 2010编译错误解决办法之---- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 2014年7月14日-8月8日(共26小时,剩4350小时)
- 坑爹的setText
- samba共享目录win2linuxlinux2win
- 某资深程序员写给后来者的忠告