Java语言真的可以开启线程吗?
--------------看源码
public synchronized void start() {
if (threadStatus != 0)
throw new IllegalThreadStateException();
/* Notify the group that this thread is about to be started
* so that it can be added to the group's list of threads
* and the group's unstarted count can be decremented. */
group.add(this);
boolean started = false;
try {
start0();
started = true;
} finally {
try {
if (!started) {
group.threadStartFailed(this);
}
} catch (Throwable ignore) {
/* do nothing. If start0 threw a Throwable then
it will be passed up the call stack */
}
}
}
private native void start0();
-------------
查看Thread的start()方法,发现start()方法最终会调用start0()这个本地方法,start0()是调用c++来实现的。
java无法直接开启线程,java无法直接操作硬件。
public synchronized void start() {
if (threadStatus != 0)
throw new IllegalThreadStateException();
/* Notify the group that this thread is about to be started
* so that it can be added to the group's list of threads
* and the group's unstarted count can be decremented. */
group.add(this);
boolean started = false;
try {
start0();
started = true;
} finally {
try {
if (!started) {
group.threadStartFailed(this);
}
} catch (Throwable ignore) {
/* do nothing. If start0 threw a Throwable then
it will be passed up the call stack */
}
}
}
private native void start0();
-------------
查看Thread的start()方法,发现start()方法最终会调用start0()这个本地方法,start0()是调用c++来实现的。
java无法直接开启线程,java无法直接操作硬件。
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享