静态地使用线程而不是使用其实例

blu*_*sky 3 java multithreading

有什么区别 -

Thread workerThread = new Thread(runnable);
workerThread.start();
workerThread.sleep(5000);
.....
Run Code Online (Sandbox Code Playgroud)

Thread workerThread = new Thread(runnable);
workerThread.start();
Thread.sleep(5000);
Run Code Online (Sandbox Code Playgroud)

它们都会导致工作线程暂停睡眠吗?

谢谢

MBy*_*ByD 8

睡眠是影响当前线程的静态方法:http://download.oracle.com/javase/6/docs/api/java/lang/Thread.html#sleep(long)

所以没有区别,他们都不会做你想要的.不推荐在实例上使用静态方法,因为它会让你认为你可以做一些你实际上无法做到的事情(比如在这种情况下)

小小的补充 - 请参阅John的答案,了解为什么在Java中允许从类实例中调用静态方法 :-)