package baseJava;public class Machine extends Thread {
private int a;
private static int count;

public void start() {
super.start();//这句话是去执行1处的run吗? Thread deamon = new Thread() {
public void run() {
while(true) {
reset();
try {
sleep(1000);
}
catch(InterruptedException e) {
e.printStackTrace();
}
}
}
};//匿名线程类

deamon.setDaemon(true);//后台线程
deamon.start();//后台线程启动
}

public void reset() {
a = 0;
}


//1处的
public void run() {
while(true) {
System.out.println(getName() + ":" + a++);
if(count++ == 100)
break;
yield();//让步于后台线程的运行。
}
}

public static void main(String[] args) {
Machine machine = new Machine();
machine.start();
}}
//问题是红线处的标注执行流程,解惑

解决方案 »

  1.   

    楼主先看这里:
    http://forum.csdn.net/help/ubb.html如何粘贴代码。
      

  2.   

    package baseJava;public class Machine extends Thread {
    private int a;
    private static int count;public void start() {
    super.start();//这句话是去执行1处的run吗? Thread deamon = new Thread() {
    public void run() {
    while(true) {
    reset();
    try {
    sleep(1000);
    }
    catch(InterruptedException e) {
    e.printStackTrace();
    }
    }
    }
    };//匿名线程类deamon.setDaemon(true);//后台线程
    deamon.start();//后台线程启动
    }public void reset() {
    a = 0;
    }
    //1处的
    public void run() {
    while(true) {
    System.out.println(getName() + ":" + a++);
    if(count++ == 100)
    break;
    yield();//让步于后台线程的运行。
    }
    }
    public static void main(String[] args) {
    Machine machine = new Machine();
    machine.start();
    }}