public class Example8_2 {
public static void main(String[] args) {
WriteWordThread1 zhang;
WriteWordThread1 wang;
zhang = new WriteWordThread1("课工场",200);
wang = new WriteWordThread1("JamsKeven",100);
zhang.start();
for(int i=1;i<=8;i++){
System.out.println("我是主线程中的语句");
}
wang.start();
}
}
class WriteWordThread1 extends Thread{
int n=0;
WriteWordThread1(String s,int n){
setName(s);
this.n=n;
}
public void run(){
for(int i=1;i<=8;i++){
System.out.println("每时每刻给你,新机会我是"+getName());
try{
sleep(n);
}
catch(InterruptedException e){}
}
}
}
多线程的结果是有一定的随机性的。
1、wang线程肯定在主线程后面执行,要符合程序的执行顺序。
2、zhang线程和主线程的执行具有一定的随机性,这取决于当前的操作系统。zhang.start()只是zhang线程处于了可执行状态,执行不执行要看操作系统是否分配可时间片给这个线程。
你这个例子中
for(int i=1;i<=8;i++){
System.out.println("我是主线程中的语句");
}
这段代码的运行时间是很短的,主线程抢占时间片,在很短的时间完成循环。
多运行几次,结果肯定不一样。