D:\javapj\A\A.java:16: cannot resolve symbol symbol : variable td1 location: class A if(Thread.currentThread()==td1) ^ D:\javapj\A\A.java:21: cannot resolve symbol symbol : variable td1 location: class A td1.sleep(1000); ^ D:\javapj\A\A.java:27: cannot resolve symbol symbol : variable td2 location: class A if(Thread.currentThread()==td2) ^ D:\javapj\A\A.java:32: cannot resolve symbol symbol : variable td2 location: class A td2.sleep(2000); ^ 4 errors ---------------------------------------------------------- 以上的就是程序3的错误了~~ 麻烦大家看看
public class A2 implements Runnable
{
public static void main(String[] args)
{
//Thread td1=new Thread(this);
//Thread td2=new Thread(this);
//Thread td1=new Thread();
//Thread td2=new Thread();
A2 ss=new A2();
ss.run();
Thread td1=new Thread(ss);
Thread td2=new Thread(ss);
td1.start();
td2.start();
}
public void run()
{
System.out.println("ok");
}
}
另外,程序3真的不能编译啊~~
你用的是哪个版本的JDK??
我在用的就是1.4.2_03
静态方法是对整个类进行操作,没有类实例,所以你要在静态主方法中对某个实例进行操作,必须先创建一个实例
A example = new A();我也可以编译3
symbol : variable td1
location: class A
if(Thread.currentThread()==td1)
^
D:\javapj\A\A.java:21: cannot resolve symbol
symbol : variable td1
location: class A
td1.sleep(1000);
^
D:\javapj\A\A.java:27: cannot resolve symbol
symbol : variable td2
location: class A
if(Thread.currentThread()==td2)
^
D:\javapj\A\A.java:32: cannot resolve symbol
symbol : variable td2
location: class A
td2.sleep(2000);
^
4 errors
----------------------------------------------------------
以上的就是程序3的错误了~~
麻烦大家看看
3是你的“现成 thread object”是局部变量,构造函数结束时,没有引地址了,你怎么调用RUN()呢,所以不行!
variable td2
这个就是问题所在,它是局部变量、不是全局的!