package com.atguigu.thread;
import java.util.Scanner;
public class ThreadDemo5 {
public static void main(String[] args) {
ChatThread t = new ChatThread();
t.start();
for (int i = 1; i < 10; i++) {
System.out.println("main:" + i);
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
//当main打印到5之后,需要等join进来的线程停止后才会继续了。
if(i==5){
try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
class ChatThread extends Thread{
public void run(){
Scanner input = new Scanner(System.in);
while(true){
System.out.println("是否结束?(Y、N)");
char confirm = input.next().charAt(0);
if(confirm == 'Y' || confirm == 'y'){
break;
}
}
input.close();
}
}
上面是两个线程,一个是ChatThread 线程(第八行开始),一个是main(主线程)(第十行开始)。
这两个线程是分别执行的,也就是说,他两是独自运行的,所以执行的顺序没法保证
多线程就是并行运行啊,本来就不受你的for循环影响