使用native关键字的区别

时间:2016-02-02 06:01:43

标签: java android

中使用native关键字之间的区别
public static native void sleep(long millis) throws InterruptedException

public static void sleep(long millis, int nanos) throws InterruptedException

2 个答案:

答案 0 :(得分:0)

使用native关键字表示该方法是在本机代码中实现的。 (C / C ++)使用JNI。既然你也标记了android,这里有一些文档可以进一步说明。 JNI Tips - Android

答案 1 :(得分:0)

Thread.sleep(long)是原生的,因为它直接映射到底层操作系统的线程管理(即在Windows上,它的行为与Linux或Solaris或任何其他系统不同)。 Thread.sleep(long,int)不是本机的,因为它在Java中执行一些内部逻辑,然后调用Thread.sleep(long)。有关详细信息,请参阅源代码。

来源:http://www.coderanch.com/mobile/t/472436/threads/java/Sleep-method-Native?foo=a