Thread.sleep()和Thread.currentThread().sleep()区别

来源:互联网 发布:!在c语言中是什么意思 编辑:程序博客网 时间:2024/05/16 19:39
线程可以用继承Thread类或者实现Runnable接口来实现.
Thread.sleep()是Thread类的方法,只对当前线程起作用,睡眠一段时间.
如果线程是通过实现Runnable接口来实现的,则不是Thread类,不能直接使用Thread.sleep()
必须使用Thread.currentThread()来得到当前线程的引用才可以调用sleep(),

所以要用Thread.currentThread().sleep()来睡眠...

区别当然是有了。第一种方式是只调用sleep静态方法;第二种是获取对象后再调用sleep静态方法。显然第二种方式效率要低一些,因为多了一次函数调用,而且通过对象调用静态方法也不太符合“静态”的定义(静态成员最好通过类名直接访问),但功能上是一致的。当需要调用非静态方法时使用第二种方式,否则直接使用第一种方式。

http://bbs.csdn.net/topics/370163905?page=1

0 0
原创粉丝点击