thread的多样性

tech2022-08-02  132

1、 主线程:执行主main方法的线程

单线程程序:java程序中只有一个线程。 执行从main方法开始,从上到下依次进行。 JVM执行main放法,main方法会进入到栈内容。 JVM会找操作系统开辟一条main方法通向cpu的执行路径。 cpu就可以通过这个路径来执行main方法。 而这个路径有一个名字,叫main主线程。 public class MainThread { public static void main(String[] args) { Person p1 = new Person("小强"); p1.run(); System.out.println(0/0); Person p2 = new Person("旺财"); p2.run(); }

}

2、创建多线程程序的第一种方式:创建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 Thread {

public static void main(String[] args) {

//3 创建Thread类的子类对象 MyThread mt = new MyThread(); //调用Thread类中的方法start方法,开启新的线程run方法 mt.start(); for(int i = 0; i < 20; i++) { System.out.println("main" + i); } }

}

最新回复(0)