Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么主线程先于子线程执行?_Java_Multithreading - Fatal编程技术网

Java 为什么主线程先于子线程执行?

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

通过调用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
    {
    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
将首先完成