黑马程序员技术交流社区
标题:
关于线程的问题
[打印本页]
作者:
王睿
时间:
2012-3-2 23:27
标题:
关于线程的问题
Thread thread = new Thread(){
@Override
public void run() {
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//这里eclipse提示不能引用另一方法中定义的内部类中非终态变量 thread
System.out.println(thread.currentThread().getName());
System.out.println(this.getName());
}
}
};
thread.start();
复制代码
我用的是eclipse3.7和java1.7,是版本的问题吗?
final Thread thread = new Thread(){
@Override
public void run() {
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//上面加上 final后又提示:局部变量 thread 可能尚未初始化
System.out.println(thread.currentThread().getName());
System.out.println(this.getName());
}
}
};
thread.start();
复制代码
作者:
王睿
时间:
2012-3-2 23:36
晕了我大意了,就当方面教材吧,thread应该大写T。{:soso_e106:}
作者:
李成航
时间:
2012-3-2 23:52
创建线程的方式不对,有两种方法:
1)向Thread中传入Runnable对象,如new Thread(new Runnable(){public void run(){......}})
2)继承Thread,通过Thread的子类创建对象,并在子类中重写run方法
Thread t=new Mythread();
cllass Mythread extends Thread{.....重写run方法....}
楼主通过直接Thread t=new
Thread();
当然会出现错误提示。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2