Java 为什么主线程先于子线程执行?
通过调用t.start()…从逻辑上调用run方法并显示子线程。。。。但为什么主线程在子线程之前先执行?Java 为什么主线程先于子线程执行?,java,multithreading,Java,Multithreading,通过调用t.start()…从逻辑上调用run方法并显示子线程。。。。但为什么主线程在子线程之前先执行? class Mythread extends Thread { public void run() { for(int i=0;i<=5;i++) { System.out.println("child thread........"); } } } public class ThreadDemo
class Mythread extends Thread
{
public void run()
{
for(int i=0;i<=5;i++)
{
System.out.println("child thread........");
}
}
}
public class ThreadDemo
{
public static void main(String arg[])
{
Mythread t=new Mythread();
t.start();
for(int i=0;i<=5;i++)
{
System.out.println("main thread........");
}
}
}
类Mythread扩展线程
{
公开募捐
{
对于(inti=0;i那么,为什么不应该呢
主线程已经在运行,调度程序可能希望让它继续运行。由操作系统调度程序决定哪个线程何时运行多长时间
没有规定线程在生成新线程后应立即停止运行。由于创建新线程可能需要一段时间,因此启动线程将逐渐停止。相反,允许调度程序执行其认为最好的操作。欢迎这样做。请将您的问题以文本形式发布,而不是以屏幕截图形式发布。我花了很多时间创建并启动线程,因此除非您阻止线程完成join
,否则Main
将首先完成