这是java线程类中start()方法的强制活动

时间:2016-12-11 19:39:35

标签: java multithreading

我知道为什么你必须在线程中调用start方法但是我想知道除了调用run方法之外还有什么是在start方法中完成的其他强制活动..

1 个答案:

答案 0 :(得分:1)

您在询问start()方法的作用?

基本上......

  1. 它为线程创建一个线程堆栈(通常使用"red-zone"来捕获堆栈溢出)
  2. 它创建/启动本机线程,并将Thread对象传递给它。
  3. 返回来电者。
  4. 同时,新创建/启动的本机线程回调JVM以运行run()方法。
  5. (在Java Thread对象的实例化中发生了许多其他重要的事情。在调用start()之前。)

    如果您想了解更多细节,请参阅OpenJDK源代码。