什么是线程类的静态和本机方法

时间:2012-07-18 12:40:18

标签: java

我在采访中遇到了以下问题:

  

Thread类的静态和本机方法是什么?

     
      
  1. yield
  2.   
  3. start
  4.   
  5. join
  6.   
  7. wait
  8.   

我了解多线程概念,例如:

Thread t = new Thread();
t.start(); // Thread starting execution
t.join(); // (or t.wait()) thread state will go to waiting

但是我没有回答帖子开头提到的面试问题。

2 个答案:

答案 0 :(得分:3)

请参阅Java Thread doc。

http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html

currentThread() sleep etc..这样的方法本质上就是static

currentThread isAlive等方法很少native

参考this

yield -> public static native void
start -> public synchronized void start
join  -> public final synchronized void
wait  -> In object class

答案 1 :(得分:0)

您可能希望查看java.lang.Thread的Javadoc。它基本上告诉你:

  1. yield()static
  2. wait()不是static,而是继承自java.lang.Object
  3. startjoin不是static,由java.lang.Thread类定义。
  4. 这些方法的native很可能取决于VM实现,但它在某种程度上取决于native实际上意味着什么。