哪个方法调用run()?

哪个方法调用run()?,第1张

哪个方法调用run()?

在以下文档中

start
正确声明:

Java虚拟机调用

run
线程的方法

因此,正是

start0
JVM中的本机代码负责调用
run
新创建的线程。(这并不是很意外,因为启动线程是非常特定于 *** 作系统的,并且不能用纯Java实现。)

注意

start0
run
直接呼叫。而是(在高级视图中,忽略JVM内部管理),它指示 *** 作系统创建一个新线程并让该线程执行
run

为了澄清起见,以下是有关方法的简短说明:

  • start
    是启动new的高级功能
    Thread

  • start0
    是从 *** 作系统创建新线程并负责确保
    run
    被调用的本机方法。

  • run
    是您的
    Runnable
    类中定义的方法。此方法将在新线程中执行。一个
    Thread
    在Java本身对象有没有关于用户代码应该执行的想法。这是关联
    Runnable
    对象的责任。

因此,当您调用时

Thread.start()
,将自动调用的
run
方法
Runnable

当然,您总是可以显式调用

run
方法
Runnable

HelloRunnable hr = new HelloRunnable();hr.run();

但是,这当然 不会 在单独的线程中执行,而是会阻止执行。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5439351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存