Java 线程的创建

线程的创建有两种方法。一种方法是创建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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值