多线程——Thread类

进程(Process):“正在执行的程序”,程序进入内存运行就变成了一个进程。一个进程会产生多个线程。

多线程(Multithread):一个进程中同时存在几个执行体。单线程是按照函数的顺序执行,多线程是多段代码同时交替运行。CPU的一个核,在某一时刻只能执行一个线程,CPU在多个线程之间快速地切换。

线程的调度:分时和抢占。分时调度是预先分配每个线程的时间。抢占式调度是按优先级。

多线程的实现——继承Thread类

public class MyThread extends Thread{       //继承自Thread类

    public MyThread(String name) {          //调用父类的构造方法
        super(name);
    }
    public void run() {                     //重写run方法,线程需要执行的代码放在run方法内
        for (int i = 0; i < 20; i++) {
            System.out.println(getName()+":正在执行!"+i);//Thread.currentThread().getName();获取当前线程对象的名称
        }
    }


}
public class Test {
public static void main(String[] args) {
    MyThread mt = new MyThread("我的线程");
    mt.start();
    for (int i = 0; i < 20; i++) {
        System.out.println("主函数线程!"+i);
    }
    System.out.println("主函数执行结束了");
}
}

由运行结果可知,两个线程的运行顺序由线程抢占到的CPU资源而定。

 Thread.currentThread()获取当前线程对象

 Thread.currentThread().getName();获取当前线程对象的名称

猜你喜欢

转载自www.cnblogs.com/zhai1997/p/11369562.html