A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

hello he = new hello();         Thread demo = new Thread(he, "线程"); 这句语句Thread demo = new Thread(he)的意思是让对象he 开启了线程 那Thread demo = new Thread(he, "线程"); 为什么括号里面还加"线程" 这应该怎么理解呢

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

6 个回复

倒序浏览
"线程"的意思就是给当前线程起了一个名字,当用getName()方法时,你可以看到线程的名字是"线程"了,也是一种初始化的方式!

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
查看API:
public Thread(Runnable target,
              String name)分配新的 Thread 对象。这种构造方法与 Thread(null, target, name) 具有相同的作用。

参数:
target - 其 run 方法被调用的对象。
name - 新线程的名称

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
同意上楼的意见。对于第一个jvm会默认给线程命名,可以在线程中通过Thread.CurrentThred().getName()得到这个线程的名字
回复 使用道具 举报
第一步:
hello类实现了Runnable接口,
第二步:启动一个线程Thread tt=new Thread(hello对象),
tt.start();
第三点:Thread的构造函数有多个重载
回复 使用道具 举报
刘基军 发表于 2012-2-22 12:05
查看API:
public Thread(Runnable target,
              String name)分配新的 Thread 对象。这种构造方 ...

能举个例子说一下吗 谢谢
回复 使用道具 举报
刘基军 黑马帝 2012-2-23 09:50:24
7#
  1. class Hello implements Runnable
  2. {
  3.         @Override
  4.         public void run()
  5.         {
  6.                 System.out.println(Thread.currentThread().getName()+" say: hi,Java!");       
  7.         }       
  8. }
  9. class ThreadNameTest
  10. {
  11.         public static void main(String[] args)
  12.         {
  13.                 new Thread(new Hello(),"Panda").start();
  14.                 new Thread(new Hello()).start();       
  15.         }
  16. }
复制代码
测试结果:
  1. Panda say: hi,Java!
  2. Thread-0 say: hi,Java!
复制代码

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马