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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 请备注 中级黑马   /  2014-4-5 14:58  /  584 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么实现了Runnable 的对象可以直接使用Thread.currentThread().getName()方法

2 个回复

倒序浏览
因为Runnable对象要作为一个参数传递给Thread,这样才能创建新线程,也就是说runnable要封装到Thread里面去,变成他的成员变量,所以可以用Thread里面的 方法获取当前线程名字
回复 使用道具 举报
通过下面两点比较,希望能帮到你。
  1. class Tool1 extends Thread{
  2.         public void run(){
  3.                 //1.这里直接用Thread类的currentThread()方法,因为Tool1继承了Thread.
  4.                 System.out.println(currentThread().getName()+"--I love you , honey ! ");
  5.         }
  6. }
  7. class Tool2 implements Runnable{
  8.         public void run(){
  9.                 //2.Tool2没有继承Thread,当然不能直接用currentThread()。currentThread()是Thread类中的静态方法,静态方法可以直接通过类来调用.
  10.                 System.out.println(Thread.currentThread().getName()+"--I love you , honey ! ");
  11.         }
  12. }
复制代码



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