Day62:java-多线程

 需要掌握:

概念:程序、进程、线程

多线程的创建和使用

线程的生命周期

线程的同步

线程的通信

概念:程序、进程、线程

程序-进程-线程
线程:是一个程序内部的一条执行路径(如果把进程比作河,那么线程就相当于河流的分支)
cpu的核数:几核的cpu代表一个瞬时时间能处理任务数
主频:任务之间的切换速度
核数越多、主频越快越好


多线程的创建和使用

多线程:一个进程(一个程序运行时),可以分化为并行执行多个线程(多个子程序)何时需要多线程?1、程序需要同时执行两个或者多个任务2、需要一些后台运行的程序多线程的创建和启动,通过java.lang.Threat实现Thread类特性:run():每个线程通过某个特定的Thread对象的run()方法(它的主体叫做线程体,想要运行的代码逻辑写在这个方法里)来完成操作
start():通过该Thread对象的start()方法(启动线程)来调用这个线程

创建线程:
方法一:继承Thread类实现多线程

CC.java
package jicheng;

import java.lang.*;

public class CC extends Thread {

    @Override
    public void run() {
        System.out.println("这里写的是多线程运行的代码");
        for (int i = 1; i <= 8; i++)
            System.out.println(i);
    }
}

B.java
package jicheng;

import java.lang.*;

public class B {
    public static void main(String[] args) {
        //new实例的时候用其父类去接受即可(对象的多态)
        Thread t0 = new CC();
        t0.start();//启动线程,运行run方法
//        start执行好之后的main()方法的其他的代码与run方法的代码并行
        System.out.println("*****");
        //发现每次运行的结果不一样
        // 输出的和run方法输出混合,且顺序不一定,但是保持自己的输出顺序
        //这个就是多线程的异步,同步:代码严格按照从上到下执行
        //异步:开启线程之后run方法运行的和主程序的代码是并行执行的,没有先后关系
    }
}

方法二:实现Runnable接口实现多线程

猜你喜欢

转载自www.cnblogs.com/OFSHK/p/12622333.html
今日推荐