Java多线程(一·)

Java的重要功能之一就是内部支持多线程,即一个程序可以并发地运行多个任务。之所以多线程是一个重要优点,是因为多线程可以使程序反应更快,交互性更强,执行效率更高。

Java对多线程程序创建和运行,以及锁定资源以避免冲突提供了非常好的支持。


创建任务和线程

Java创建线程的方法有两种:1)使用Thread类创建  2)通过实现Runnable接口开发任务类。

1)使用Thread类创建

Thread类包含为任务而创建的线程的构造方法,以及控制线程的方法。而现在主要对构造方法Thread()进行说明使用。Thread类实现了Runnable,因此可以定义一个Thread的拓展类,并实现run()方法;启动这个类的一个对象需要调用start()方法来启动线程。

public class UseThread {
    public static void main(String[] args){
        Thread thread =new Thread(){
            //实现run()方法
            @Override
            public void run(){
                System.out.println("Thread");
            }
        };
        //调用strat方法启动线程
        thread.start();
    }
}


2)通过实现Runnable接口开发任务类

这种方法需要用Thread(Runnable task)方法来实现。task是一个实现Runnable接口,并覆盖run()方法的类。最后还是需要调用start()方法来启动程序。

//Task实现Runnable接口并覆盖了run()方法
class Task implements Runnable {

    @Override
    public void run() {
        System.out.println("Task");
    }
}

public class UseThread {

    public static void main(String[] args) {
        //使用Thread(Runnable task)构造方法
        Thread task = new Thread(new Task());
        //调用start()方法
        task.start();
    }
}


可以注意到两种方式都是调用Thread中的run()方法。但是更多的时候,通过实现Runnable接口开发任务类而实现多线程,主要是两者还是有一定的区别的:

1)由于Java中每个类只能继承一个父类,却可以实现多个接口。因此Thread类的继承有局限性,实现Runnable接口就没有这样的局限性。

2)资源共享的问题。实现Runnable接口开发任务,相当于多个线程一起完成一个任务,而继承Thread类来启动多线程,就相当于多个线程单独完成各自的任务。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值