黑马程序员技术交流社区

标题: 关于多线程currentThread()方法 [打印本页]

作者: 黄捷    时间: 2012-6-3 10:04
标题: 关于多线程currentThread()方法
     看了多线程,自己下来实现了一下代码,代码如下:
    class Ticket implements Runnable{
        private int ticket=1;
        public void run()
        {
                while(true)
                {
                        if(ticket<=100)
                        {
                                try
                                {
                                        currentThread().sleep(10);
                                }catch(Exception e){}
                                System.out.println(currentThread().getName()+"----"+ticket++);
                        }
                }
        }
}

public class Thread3
{
        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();               
        }
}

编译的时候提示,currenThread().sleep(10)和currentThread().getName() 找不到符号,为什么一定要写Thread.currentThread().sleep(10) 和Thread.currentThread().getName() 才能正确编译呢,老毕说的是可以直接用方法就是了,我也觉得直接调用方法就可以了,currentThread()本来就是获取当前线程的啊,为什么编译会说找不到符号呢?




作者: 杜俊彪    时间: 2012-6-3 10:12
老毕说的是可以直接用方法就是:是这么个意思,  你得静态导入你要执行的方法, 如:  import static java.lang.Thread.currentThread;      然后就可以直接调用 了;  
作者: 丰亚彬    时间: 2012-6-3 10:16
人家老毕是继承自Thread类,你是实现了Runnable接口,你说为什么不能用呢?Runnable就一个方法
作者: 何拴绪    时间: 2012-6-3 11:01
currentThread()方法是Thread类中的一个静态方法,所以你要获取当前线程就必须使用Thread.currentThread()的方式,
而你实现的是Runnable接口,所以不能写currenThread().sleep(10)和currentThread().getName() ,如果你继承Thread类就可以这样写。
作者: 杨海波    时间: 2012-6-3 11:19
哥们注意啊
1,看看api啊 这个currentThread()是Thread类的一个方法 他返回是当前正在执行一个静态的Thread对象的引用,方法当然要对象或是类调用才可以啊
2,你实现的是Runnable接口,接口里的方法是抽象的,所以你必须复写
  1. currenThread().sleep(10)和currentThread().getName()
复制代码
这样肯定是不对的都应该加上Thread才可以。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2