package com.wsy;public class SimpleRunnable implements Runnable{ /**
 * @param args
 */
private boolean active;
private String mask;
private static int count=0;
SimpleRunnable(){
this('t');
}
SimpleRunnable(char maskChar){
setActive(true);
mask=" "+(count++)+maskChar;
}
public void setActive(boolean active){
this.active=active;
}
public boolean isActive(){
return active;
}
public String toString(){
return "线程名称为"+Thread.currentThread().getName()+":"+mask;
}
public void run(){
int i=0;
while(isActive()){
System.out.println(this);
try{
Thread.currentThread().sleep(50);
}catch(Exception e){
e.printStackTrace();
}
i++;
if(i==10){
setActive(false);
}
}

}
public static void main(String[] args) {
// TODO 自动生成方法存根
SimpleRunnable runnable=new SimpleRunnable();
Thread runnablet=new Thread(runnable);
runnablet.start();

}}
线程小问
刚入手JAVA,红色那段count++ ,程序运行结果为什么count没有变化

解决方案 »

  1.   

    老弟,你上面定义了来年各个构造方法,一个是带参数的,一个是不带参数的,你下面main函数里面new出来的是不带参数的构造方法,而不带参数的构造方法不含有count,也就是说你根本就没有改变count的值啊,他也就不会变的啊
      

  2.   

    不用Thread runnablet=new Thread(runnable);
    runnablet.start();这两句话 用runnable。run();整个程序中你根本没有调用那个构造函数