java:新建线程的两种方式

 前言:简单介绍下,线程是进程的一部分(对进程不了解的同学可以自行查阅相关内容),一个进程中可以包含多个线程,多个线程并发执行,可以提高对cpu的使用率,从尔提升效率,java中多线程是比较重要的知识点,掌握多线程是很有必要的,本文介绍多线程创建的两种方式。如下:

方式一:继承自Thread(新建一个类继承Thread)

重写Thread中的run()方法,run()方法是线程的线程体,是线程运行所执行的方法体。当线程调用start()方法后,run()方法即被执行。

/**
 * 多线程方式1:继承thread
 */
public class ThreadDemo1 extends Thread{
    @Override
    public void run() {
       
            System.out.println(“...线程运行的逻辑代码...”);
       
    }
}
使用测试:

public class Test1 {
    public static void main(String[] args) {
        //第一种方式创建线程
        Thread t1=new ThreadDemo1();
        t1.start();//不能通过t1.run()方式启动线程,通过start方式启动,jvm会去调用run线程体
        Thread t2=new ThreadDemo1();
        t2.start();  
    }
}
方式二:实现Runnable接口

并实现该接口的run()方法。
/**
 * 多线程方式2:实现Runnable接口
 * 作用:java是单继承的,如果一个类已经继承其他类(非Thread),想要实现多线程,可以使用实现Runable接口方式。
 */
public class ThreadDemo2 implements Runnable {
    @Override
    public void run() {          System.out.println(“...线程运行的逻辑代码...”); }}
使用:
public class Test2 {
    public static void main(String[] args) {

        //第二种方式创建线程
        Thread tr1 = new Thread(new ThreadDemo2());
        tr1.start();//不能通过t1.run()方式启动线程,通过start方式启动,jvm会去调用run线程体
        Thread tr2 = new Thread(new ThreadDemo2());
        tr2.start();
    }
}
备注:两种方式都可以实现java的多线程,必须使用start()方法启动线程,当调用start()方法后,jvm会负责调用run()方法,不能通过直接调用run()方法。由于java是单继承的,所以一个类如过已经继承了非Thread类,想要实现多线程的话,可以使用第二种实现接口的方式。创建线程使用以上两种方式即可,赶紧书写自己的demo吧,是不是很简单,但是多线程使用并非如此简单,我会在后续的博客中继续研究java的多线程。此博客用于学习过程中的知识总结,希望给您带来帮助。

下篇中会介绍多线程中数据共享安全问题,线程的同步。




----------------------------------------------------------------学海无涯

分类:java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值