黑马程序员技术交流社区
标题:
实现Runnable后 类中有currentThread().getName()方法吗?
[打印本页]
作者:
文景
时间:
2015-5-26 02:21
标题:
实现Runnable后 类中有currentThread().getName()方法吗?
class Ticket implements Runnable{
private int tick = 100;
Object o = new Object();
public void run(){
while(true){
synchronized(o){
if(tick > 0){
try{Thread.sleep(10);}catch(Exception e){}
System.out.println(currentThread().getName());
}
}
}
}
}
public class Demo{
public static void main(String args[]){
Ticket t = new Ticket();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
Thread t3 = new Thread(t);
Thread t4 = new Thread(t);
t1.start();
t2.start();
t3.start();
t4.start();
}
}
复制代码
上面代码提示找不到currentThread()方法,这是为什么?
作者:
文景
时间:
2015-5-26 02:50
发现好像要加上Thread才行,Thread.currentThread();说好的继承呢
作者:
wangkai
时间:
2015-5-26 09:35
你可以看一下API帮助文档,Runnable是一个接口,它只有一个run方法。
currentThread() ; 返回一个Thread对象,并且是一个静态方法,可以直接被类名调用,
即 Thread.currentThread()
作者:
小悟空et
时间:
2015-5-26 10:41
应该写成 Thread.currentThread().getName()
作者:
rsl123456
时间:
2015-5-26 11:11
Runnble是一个借口,只有一个run()函数,所以实现Runnble,是不会有currentThread().getName()函数的,
currentThread().getName()函数是Thread类中的一个静态函数
作者:
志行
时间:
2015-5-26 11:29
楼上正解~~
作者:
星辉祝愿
时间:
2015-5-26 14:22
获取当前线程名称跟Runnable接口无关,直接写Thread.currentThread().getName()
作者:
mmakun
时间:
2015-5-26 15:46
创建线程之后才能有currentThread.getName()方法
作者:
l598790586
时间:
2015-5-26 17:14
没有继承Thread类,要用类名调用这个静态方法,如果不想用类名调用,可以使用静态导入
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2