将getName()换成Thread.currentThread().getName()就对了,不知道为什么呢?而且貌似进程的执行顺序有变化。。。。求指点package com.imooc.concurrent;
public class Actor extends Thread {
public void run() {
System.out.println(getName() + "is an actor");
int count = 0;
boolean a=true;
while (a){
System.out.println(getName() + "show begins" + (++count));
if (count==100)
{
a=false;
}
if(count%10==0){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//System.out.println(getName() + "show begins" + (++count));
System.out.println(getName() + "show is over");
}
public static void main(String[] args) {
//Thread actor = new Actor();
//
//actor.setName("Mr.Thread");
Thread actor=new Thread(new Actor(),"Mr.Thread");
actor.start();
Thread actressThread= new Thread(new Actress(),"Ms.Runnable");
actressThread.start();
}
}
class Actress implements Runnable{
public void run() {
System.out.println(Thread.currentThread().getName() + "is an actor");
int count = 0;
boolean a=true;
while (a){
System.out.println(Thread.currentThread().getName() + "show begins" + (++count));
if (count==100)
{
a=false;
}
if(count%10==0){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
System.out.println(Thread.currentThread().getName() + "show is over");
}
}
3 回答
已采纳
大咪
TA贡献785条经验 获得超332个赞
public static void main(String[] args) { //Thread actor = new Actor(); // //actor.setName("Mr.Thread"); Thread actor=new Thread(new Actor(),"Mr.Thread"); //这里你为什么要改啊。。。? actor.start(); Thread actressThread= new Thread(new Actress(),"Ms.Runnable"); actressThread.start(); }
添加回答
举报
0/150
提交
取消