JAVA多线程概述-多线程的实现方式一

*什么是线程?
*   线程是一个程序内部的一条执行路径
*   我们之前启动程序执行后,main方法的执行其实是一条单独的执行路径
*   程序中如果只要一条执行路径,那么这个程序就是单线程程序
* 多线程是什么?
*    多线程是指从软硬件上实现多条执行流程的技术
*
* 学习多线程的目标:
*    如何创建!(如何实现多线程,实现方式的各自优缺点)
*    Thread的常用方法
*    线程的安全和线程同步(多个线程同时访问一个共享数据的问题及解决)
*    线程通讯,线程池
*    定时器,线程状态
*******************************************
*    Thread类
*      JAVA是通过java.lang.Thread类来代表线程的
*      按照面向对象的思想,Thread类应该提供了实现多线程的方式
*******************************************************
* 多线程的实现方式一:继承Thread类
* 1.定义一个子类(MyThread)继承线程类(java.lang.Thread),重写run()方法
* 2.创建MyThread类的对象
* 3.调用线程对象的start()方法启动线程(启动后还是执行run()方法)
*
*优缺点:
*  优点:编码简单
*  缺点:线程类已经继承Thread,无法继承其他类,不利于扩展
*
*  //1.为什么不直接调用run?而是先调用start?
*  直接调用run会当初普通直接方法,此时还是相当于单线程(先跑run在跑下面,start通知开始多线程)
*  只要调用start方法才是启动一个新的线程执行
*  //2.为什么不要把主线程任务放在子线程之前?
*   这样主线程一直是先跑完,相当于是一个单线程效果(把主线程放在start【开始多线程】下面)
* */
public class ThreadDemo1 {
    public static void main(String[] args) {
        //3.new一个线程对象
        Thread t = new MyThread();
        //4.调用start方法启动线程(执行还是run方法)
        t.start();//实现多线程(main,t)
        for (int i = 0; i <5; i++) {
            System.out.println("主线程执行输出:"+i);

        }
    }
}
    /*
     * 1.继承一个线程类继承Thread类
     * */
 class MyThread extends Thread{
    //2.重写run方法
        @Override
        public void run() {
            for (int i = 0; i <5 ; i++) {
                System.out.println("子线程执行输出:"+i);

            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值