黑马程序员技术交流社区

标题: 实现Runnable接口建立线程的相关问题 [打印本页]

作者: 彭盼    时间: 2012-3-17 21:40
标题: 实现Runnable接口建立线程的相关问题
本帖最后由 彭盼 于 2012-3-17 21:42 编辑

用继承Thread类的方式可以建立线程,并可以通过构造函数或setName的方法对线程命名
实现Runnable接口的方式能否通过构造函数的方式给线程命名
例如下面的卖票小程序,若通过构造函数的方式命名线程,该如何修改呢?
class ticks implements Runnable
{
        private int ticks=1000;
        public void run()
        {
                while(true)
                {
                        synchronized(Sell.class)
                        {
                                if(ticks>0)
                                {
                                System.out.println(Thread.currentThread().getName()+"-------票号:"+ticks--);
                                }
                        }
                }

        }

}
class  Sell
{
        public static void main(String[] args)
        {
                ticks t=new ticks();
                Thread t1=new Thread(t);
                t1.setName("线程一");
                Thread t2=new Thread(t);
                t2.setName("线程二二");

                Thread t3=new Thread(t);
                t3.setName("线程三三三");
                Thread t4=new Thread(t);
                t4.setName("线程四四四四");
                t1.start();
                t2.start();
                t3.start();
                t4.start();
        }
}
作者: 梁锡伟    时间: 2012-3-18 01:03
System.out.println(Thread.currentThread().getName()+"-------票号:"+ticks--);
既然有setName,必然有getName,改为自己的this.getName()吧
作者: 李爱军    时间: 2012-3-18 01:14
构造函数 public Thread(Runnable target, String name)  
参数:
target - 其 run 方法被调用的对象。
name - 新线程的名称。
作者: 魏群    时间: 2012-3-18 01:20
Thread
public Thread(Runnable target,
              String name)分配新的 Thread 对象。这种构造方法与 Thread(null, target, name) 具有相同的作用。

参数:
target - 其 run 方法被调用的对象。
name - 新线程的名称。
另请参见:
Thread(ThreadGroup, Runnable, String)  摘自 java API




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