你new了两个test当然不是同一个x了, 要使它们成为同一个x可以有两种方法,一种是使用静态, 还有一种就是使用单例设计模式:
class Test extends Thread
{
private static Test t= null;
private Test(){}
public static Test getInstance()
{
if(t==null)
{
synchronized(Test.class)
{
if(t==null)
t = new Test();
}
}
return t;
}
public void run()
{
for(int x=0; x<90;x++)
{
System.out.println(this.getName()+"..."+x);
}
}
}
class ThreadTest
{
public static void main(String[] args)
{
t1 = Test.getInstance();
t2 = Test.getInstance()
t1.start();
t2.start();
}
}
|