public class Threadtest extends Thread{
private static long number=0;
Object a=new Object();
public Threadtest(){
}
public synchronized void go(){
number++;
System.out.println("当前值:"+number);
}
public void run(){
for(;;){
go();
try {
Thread.sleep(1000); //test 间隔1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} /**
* @param args
*/
public static void main(String[] args) {
Threadtest[] statethread=new Threadtest[10];
for(int i=0;i<statethread.length;i++){
statethread[i]=new Threadtest();
statethread[i].start();
} }}
上述程序为什么是10个一秒显示的?为什么不是每隔一秒显示一个
private static long number=0;
Object a=new Object();
public Threadtest(){
}
public synchronized void go(){
number++;
System.out.println("当前值:"+number);
}
public void run(){
for(;;){
go();
try {
Thread.sleep(1000); //test 间隔1秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} /**
* @param args
*/
public static void main(String[] args) {
Threadtest[] statethread=new Threadtest[10];
for(int i=0;i<statethread.length;i++){
statethread[i]=new Threadtest();
statethread[i].start();
} }}
上述程序为什么是10个一秒显示的?为什么不是每隔一秒显示一个
接着就
number++;
System.out.println("当前值:"+number);
然后间隔1秒再显示,为什么现在是10个一起显示的
for(int i=0;i<statethread.length;i++){
statethread[i]=new Threadtest();
statethread[i].start();
}
在循环中线程是并举的。一个接一个;不停顿。