您的位置:首页 > 编程语言 > Java开发

Java 线程的创建

2016-01-14 15:49 405 查看
线程的创建有两种方法。一种方法是创建Thread类的子类,并在子类中重写run方法。如下:

// Thread类的子类
public class MyThread extends Thread{
// 无参构造方法
public MyThread(){}

// 带参构造方法
public MyThread(String name){
super(name);
}

public void run() {
System.out.println(getName()+
": 这是Thread类的子类");
}
}

public class NewThread1 {
public static void main(String[] args) {
// 创建线程并启动
new MyThread().start();
new MyThread("第2个线程").start();
}
}


另一种方法是创建Runable接口的实现类,并实现run方法,再以该类的对象作为参数传递,创建Thread对象并启动线程。具体如下:

public class MyRunnable implements Runnable {
public void run() {
System.out.println(
Thread.currentThread().getName()+
": 这是Runnable的实现类");
}
}

public class NewThread2 {
public static void main(String[] args) {
MyRunnable mr = new MyRunnable();

new Thread(mr).start();
new Thread(mr,"第2个线程").start();
}
}


第二种方式较第一方式更为常用,因为第二种方式实现的是接口,可以实现多继承,而且创建的多个线程可以共享同一个Runnable实现类的对象,从而实现资源共享。

当然,创建线程的时候也可根据需要采用匿名类的方式。如下:

public class NewThreadTest3 {
public static void main(String[] args) {
// 继承Thread类
new Thread(){
public void run(){
System.out.println(
"匿名类新建线程1");
}
}.start();

// 实现Runnable接口
new Thread(new Runnable(){
public void run() {
System.out.println(
"匿名类新建线程2");
}
}).start();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  线程 创建