JAVA主线程创建的字线程,在主线程停止之后,还会运行吗?

如题,子线程还会继续运行。


线程之间相互独立,不产生影响,主线程也是普通线程。


在此例中:创建启动完所有子线程之后,主线程就停止了,而子

线程继续在虚拟机中执行,主线程只是起一个入口作用。

class T extends Thread
{
    public static void main(String[] args)
    {
        for (int i = 0 ; i < 20 ; i++)
        {
            Thread a = new T(i);
            a.start();
            System.out.println("线程" + i + "启动!");
        }
    }
    int i ;
    public T(int i)
    {
        this.i = i ;
    }

    @Override
    public void run()
    {
        while(true)
        {
            try
            {
                Thread.sleep(2000);
            }
            catch (InterruptedException e)
            {
                e.printStackTrace();
            }
            System.out.println(i + "线程还在执行!");
        }
    }
}


运行结果:

线程0启动!
线程1启动!
线程2启动!
线程3启动!
线程4启动!
线程5启动!
线程6启动!
线程7启动!
线程8启动!
线程9启动!
线程10启动!
线程11启动!
线程12启动!
线程13启动!
线程14启动!
线程15启动!
线程16启动!
线程17启动!
线程18启动!
线程19启动!
0线程还在执行!
14线程还在执行!
1线程还在执行!
17线程还在执行!
9线程还在执行!
3线程还在执行!
13线程还在执行!
15线程还在执行!
16线程还在执行!
5线程还在执行!
4线程还在执行!
12线程还在执行!
8线程还在执行!
19线程还在执行!
18线程还在执行!
10线程还在执行!
11线程还在执行!
7线程还在执行!
6线程还在执行!
2线程还在执行!
9线程还在执行!
7线程还在执行!
12线程还在执行!
3线程还在执行!
10线程还在执行!
8线程还在执行!
19线程还在执行!
6线程还在执行!
14线程还在执行!
11线程还在执行!
18线程还在执行!
15线程还在执行!
4线程还在执行!
5线程还在执行!
17线程还在执行!
0线程还在执行!
2线程还在执行!
16线程还在执行!
13线程还在执行!
1线程还在执行!
.......

程序将会无止境执行下去



猜你喜欢

转载自blog.csdn.net/qq_37293230/article/details/79497721