日期:2014-05-20 浏览次数:20683 次
class ShareData{
public String szData="";
}
class ThreadDemo extends Thread{
private ShareData oShare;
public ThreadDemo(String name,ShareData oShare){
super(name);
this.oShare=oShare;
}
public void run(){
for(int i=0;i<50;i++){
if(this.getName().equals("Thread 1")){
oShare.szData="这是第一个线程";
try{
Thread.sleep(1000);
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println(this.getName() + ":" + oShare.szData);
}
else if(this.getName().equals("Thread 2")){
oShare.szData="这是第二个线程";
try{
Thread.sleep(1000);
}catch(InterruptedException e){
e.printStackTrace();
}
System.out.println(this.getName() + ":" + oShare.szData);
}
}
}
}
public class hello{
public static void main(String[] args){
ShareData oShare=new ShareData();
ThreadDemo t1=new ThreadDemo("Thread 1",oShare);
ThreadDemo t2=new ThreadDemo("Thread 2",oShare);
t1.start();
t2.start();
}
}
输出结果:
Thread 2:这是第二个线程
Thread 1:这是第二个线程
Thread 1:这是第二个线程
Thread 2:这是第一个线程
Thread 1:这是第二个线程
Thread 2:这是第一个线程
Thread 2:这是第二个线程
Thread 1:这是第二个线程
Thread 1:这是第一个线程
Thread 2:这是第一个线程
Thread 2:这是第一个线程
Thread 1:这是第一个线程
Thread 1:这是第二个线程
Thread 2:这是第二个线程
Thread 2:这是第二个线程
Thread 1:这是第二个线程
Thread 1:这是第二个线程
Thread 2:这是第二个线程
Thread 2:这是第二个线程
Thread 1:这是第二个线程
Thread 1:这是第二个线程
Thread 2:这是第一个线程
Thread 1:这是第二个线程
Thread 2:这是第一个线程
Thread 1:这是第二个线程