线程原本是一个操作系统中的一个概念,java平台上的线程,其实就是利用操作系统的本身的线程。
那么我们来看看java下线程创建的方法。主要分为2种。
在java语言中,线程被封装为Thread类,当然线程的核心内容并不在这个类中。可以把这个类认为是真正的线程的代理人。
线程中有两个重要的方法,构造函数Thread(), void start() 方法 用来启动一个线程, void run() 方法,是一个普通的方法,它将作为线程启动后的一个起点。
第一种,通过继承thread类,来实现线程的创建。
/**
* 第一种方法,使用继承线程类的方法,来实现线程的创建。在类中实现run方法
* @author xj
*
*/
class myThread extends Thread{
public void run(){
while(true){
System.out.println("myThread is running....");
try {
myThread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class ThreadDemon {
public static void main(String[] args) {
/*线程的创建*/
myThread th = new myThread();
/*线程的启动 */
th.start();
}
}
第二种,创建线程的方法,是通过实现Runnable接口,来实现线程的创建。
/**
* 第二种方法,类通过实现Runnable接口,实现其run方法,来完成线程的创建。
* @author xj
*
*/
class myThread implements Runnable{
public void run(){
while(true){
System.out.println("myThread is running...");
}
}
}
public class ThreadDemon {
public static void main(String[] args) {
/*线程的创建*/
myThread th = new myThread();
/*线程的启动 */
new Thread(th).start();
}
}
综上,对两种方法可以来一个对比,由于java是支持单继承,但是不支持多继承,方法一只能适用于我们的线程,在没有继承其他父类的情况下,使用比较合适。并且它可以在类中使用Thread父类的方法。
方法二的实现则比较灵活,通过实现Runnable接口,不影响类的继承。那么我们的线程的启动,只能通过调用Thread的带参构造方法来实现。
Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5,京公海网安备11010802025203号