class Demo implements Runnable
{
public void run()
{
for(int x=0; x<20; x++ )
{
System.out.println(Thread.curentThread().toString()+"...."+x);
Thread.yield();//加上这句,实现t1和t2交替运行
}
}
}
calss YieldDemo
{
public static void main(String[] args)
{
Demo d = new Demo();
Thread t1=new Thread(d);
Thread t2=new Thread(d);
t1.start();
t2.start();
System.out.println("demo over");
}
}
为什么启动t1、t2后,两个线程都是从0开始打印x,直到19,x存在哪里?两个线程执行的同一个对象的同一个run方法,
应该只有一个x,为什么会有两个呢?难道x在每个线程中都有一份?
|