主线程
主线程:执行主(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);
}
}
}
交替执行
搜索
复制
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/273195.html