小学生学习Java的多线程

线程和进程

进程 : 一个正在运行的程序,就是一个进程

线程 : 一个进程中 有多个线程(每一个线程相当于一个执行的任务)

主线程

多线程的程序 除了主线程以外 一般都叫子线程
一个程序只有一个主线程
main函数 就是一个线程 并且是主线程

主线程的执行步骤:
JVM调用main函数 –> CPU为main函数开辟一个执行路径 –>相当于在这个执行路径中 执行main函数中的代码

Thread线程类

(开辟一个主线程以外的线程 子线程)
1.创建一个Thread类的子类
2.重写run方法 run方法就是你要线程执行的代码
3.调用start方法 开启线程(不能重复开启)

第一种创建线程的方式 (继承Thread)

// 创建线程类对象
    MyThread  myThread = new MyThread();
// 开启线程
    myThread.start();

//声明一个线程类 继承Thread
 class MyThread  extends Thread{
        // 重写run方法
         @Override
        public void run() {
            System.out.println("我是子线程");
    }
}

第二种创建线程的方式 (实现Runnable接口)

// 创建接口的实现类的对象
    Run run = new Run();
// 创建一个线程类对象
    Thread thread = new Thread(run);
// 开启线程
    thread.start();

// 创建一个类 实现Runnable接口
class  Run implements Runnable{
    @Override
    public void run() {
            System.out.println(Thread.currentThread().getName());   
    }   
}

第三种创建线程的方式 (使用匿名内部类创建线程)

// 注意: 这种方式 new 后面跟的是父类名   但是创建出来的对象 却是子类或实现类的对象

Thread thread = new Thread(new Runnable() {         
            @Override
            public void run() {
                System.out.println("子线程的执行方法");
            }
        });
        thread.start();

线程的状态(6种)

1.新建状态(new Thread)
2.运行状态(start())
3.死亡状态(run方法运行完毕)
4.受阻塞状态(CPU未执行该线程时)
5.休眠状态(sleep方法 休眠时间过了 恢复)
6.等待状态 (wait notify)
这里写图片描述

猜你喜欢

转载自blog.csdn.net/zmw1224/article/details/80573751