package test;public class Test {
public static void main(String args[]){
Test2 test = new Test2();
new Thread(test).start();
new Thread(test).start();
new Thread(test).start();
new Thread(test).start();
}
}
class Test2 implements Runnable{
public void run(){
int i = 100;
while(true){
if(i > 0 ){
System.out.println("i="+i+"ThreadName="+Thread.currentThread().getName());
i--;
}
}
}
}我是看着例子做的.
在例子上输出结果时四个线程共享了一个i
而我写的确是每个线程都自己有一个i,而不是共享的,问下咋回事啊.
要让多个线程共享数据要怎么做啊.
public static void main(String args[]){
Test2 test = new Test2();
new Thread(test).start();
new Thread(test).start();
new Thread(test).start();
new Thread(test).start();
}
}
class Test2 implements Runnable{
public void run(){
int i = 100;
while(true){
if(i > 0 ){
System.out.println("i="+i+"ThreadName="+Thread.currentThread().getName());
i--;
}
}
}
}我是看着例子做的.
在例子上输出结果时四个线程共享了一个i
而我写的确是每个线程都自己有一个i,而不是共享的,问下咋回事啊.
要让多个线程共享数据要怎么做啊.
new Thread(test).start();
test = new Test2();
new Thread(test).start();
test = new Test2();
new Thread(test).start();
test = new Test2();
new Thread(test).start();
public static void main(String args[]) {
Test2 test = new Test2();
new Thread(test).start();
new Thread(test).start();
new Thread(test).start();
new Thread(test).start();
}
}class Test2 implements Runnable {
int i = 100;
public void run() {
while (true) {
if (i > 0) {
System.out.println("i=" + i + "ThreadName="
+ Thread.currentThread().getName());
i--;
}
}
}
}