主线程和创建多线程程序的第一种方式

主线程

主线程:执行主(main)方法的线程

单线程程序:java程序中只有一个线程

执行从main方法开始,从上到下依次执行

public class DMainT {
    public static void main(String[] args) {
        Person p1 = new Person("张三");
        p1.run();
        Person p2 = new Person("李四");
        p2.run();
    }
}
public class Person {
    private String name;
    public void run(){
        for (int i = 0; i <20; i++) {
            System.out.println(name+"-->"+i);
        }
    }
    public Person() {
    }
    public Person(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

创建多线程程序的第一种方式

创建多线程程序的第一种方式:创建Thread类的子类

java.lang.Thread类:是描述线程的类,我们想要实现多线程程序,就必须继承Thread类

实现步骤:

  1.创建一个Thread类的子类

  2.在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做啥?)

  3.创建Thread类的子类对象

  4.调用Thread类中的方法start方法,开启新的线程,执行run方法

    void start() 使该线程开始执行;Java 虚拟机调用该线程的run方法。

    结果是两个线程并发地运行,当前线程(main线程)和另一个线程(创建的新线程,执行run方法)。

    多次启动一个线程是非法的。特别是当前线程已经结束执行后,不能在重新启动。

java程序属于抢占调度,那个线程的优先级高,那个线程优先执行;同一个优先级,随机选择一个执行。

public class MyThread extends Thread{
    @Override
    public void run() {
        for (int i = 0; i <10; i++) {
            System.out.println("run"+i);
        }
    }
}
public class Demo01MyThread {
    public static void main(String[] args){
        MyThread mt = new MyThread();
        mt.start();
        for (int i = 0; i <10; i++) {
            System.out.println("main"+i);
        }
    }
}

交替执行

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-07-08 15:29  魔光领域  阅读(38)  评论(0编辑  收藏  举报