java线程(Thread)基础篇——创建线程

本文介绍了Java中实现多线程的三种方法:通过继承Thread类、实现Runnable接口以及使用匿名内部类。并通过示例代码详细解释了每种方法的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package LyfPractice;

/**
 * Created by fangjiejie on 2016/12/6.
 */
/*
    线程是程序内的控制流。
    多线程:在同一个应用程序中的多个顺序流(任务)同时执行
    多进程:在操作系统能同时运行多个任务(程序,软件)
    线程:
       1.主线程:在主方法中,串行运行
       2.用户线程
 */

public class H {
    public static void main(String[] args) {
        /*用户线程的两次调用
        new H1().run();
        new H1().run();
        System.out.println();*/

        //多线程
        H1 m1=new H1();
        H1 m2=new H1();
        m1.setName("m1号线程");//设置线程的新名字
        m2.setName("m2号线程");
        m1.start();//多线程用start启动线程核心方法run
        m2.start();
    }
}
//第一种方法:直接创建多线程类
class H1 extends Thread{//继承了Thread后,成为多线程类
    @Override
    public void run() {
        super.run();
        for(int i=0;i<1000;i++){
            //获取线程名字的两种方法:
            //System.out.print(this.getName()+": ");
            System.out.print(Thread.currentThread().getName()+": ");
            System.out.println(i);
        }
    }
}

package LyfPractice;

/**
 * Created by fangjiejie on 2016/12/15.
 */

//第二种方法:创建一个直接实现Runnable的类,再借助Thread类来启动线程
//Thread 类实现了Runnable 接口,来创建线程
public class K {
    public static void main(String[] args) {
        K1 k=new K1();//K1实现了Runnale接口
        Thread h=new Thread(k);//但还是需要借助Thread类来启动线程
        h.start();
    }
}
class K1 implements Runnable{

    @Override
    public void run() {
        for(int i=0;i<1000;i++){
            System.out.println(Thread.currentThread().getName()+":"+i);
        }
    }
}
//第三种的方法:匿名内部类(和第二种性质相同哦)
class P{
    public static void main(String[] args) {
       new Thread(new Runnable() {
            @Override
            public void run() {
                for(int i=0;i<10;i++){
                    System.out.println(Thread.currentThread().getName()+":"+i);
                }
            }
        }).start();
    }

}

/两大类线程启动方式比较:/
这里写图片描述
通常情况下,我们还是建议使用前面的方法,可以避后面方法只能单继承的缺陷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值