线程调度和主线程

线程调度和主线程线程调度 分时调度 所有线程轮流使用CPU 的使用权,平均分配每个线程占用CPU 的时间。 抢占式调度 优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。 主线程 Java使用java.lang.Thread类代表线程,所有的线程对象

线程调度

分时调度

  所有线程轮流使用CPU 的使用权,平均分配每个线程占用CPU 的时间。

抢占式调度
  优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。

线程调度和主线程

 

 

线程调度和主线程

 

 

主线程

线程调度和主线程

 

 

Java使用java.lang.Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流即一段顺序执行的代码。

  Java使用线程执行体来代表这段程序流。Java中通过继承Thread类来创建并启动多线程的

步骤如下:

  1.定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务,因此把run()方法称为线程执行体。

  2.创建Thread子类的实例,即创建了线程对象3.调用线程对象的start()方法来启动该线程

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

单线程程序;java程序中只有一个线程执行从main方法开始,从上到下依次执行

JVM执行main方法, main方法会进入到核内存

JVM会找操作系统开辟一条main方法通向cpu的执行路径cpu就可以通过这个路径来执行main方法

而这个路径有一个名字,叫main(主)线程

 public static void main(String[] args) {
        Person person = new Person("小强");
        person.run();
        System.out.println(0/0);
        Person person1 = new Person("旺财");
        person1.run();
    }

//Person类

public
class Person { private String name; public void run(){ for (int i = 0;i<20;i++){ System.out.println(name+"--》"+i); } } public Person(String name) { this.name = name; } public Person() { } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Person{" + "name='" + name + '\'' + '}'; }


 

 

 

 

Person

/*Person类*/

package com.itheima.demo05MainThread;

public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public void run(){
        for (int i = 0; i <20 ; i++) {
            System.out.println(name+i);
        }
    }
}

测试
/*测试类*/

public class Demo {
    public static void main(String[] args) {
        Person p1 = new Person("小王");
        p1.run();

        System.out.println(0/0);    
        //运行结果Exception in thread "main" java.lang.ArithmeticException: / by zero
        //因为有计算错误,程序执行到这不会再继续往下执行了

        Person p2 = new Person("大王");
        p2.run();
    }
}


 

 

 

今天的文章线程调度和主线程分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/57555.html

(0)
编程小号编程小号
上一篇 2023-08-25
下一篇 2023-08-25

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注