关于类加载线程 和主线程是否是一个线程的疑问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于类加载线程 和主线程是否是一个线程的疑问相关的知识,希望对你有一定的参考价值。

看深入理解java虚拟机(第二版)的时候,作者在226页给出了一段代码,说明类加载器的阻塞问题,感觉这段代码和书中给出的结果有偏差,自己验证了下,和书中的代码运行结果不一致。

    static{
        if(true){
            System.out.println(Thread.currentThread()+" init deadloop");
            while (true){

            }
        }
    }
    public static void main(String[] args){
        // <------线程不会执行到这里
        Runnable r = new Runnable() {
            public void run() {
                System.out.println(Thread.currentThread()+" start");
                new CinitDeadLoopClass();
                System.out.println(Thread.currentThread()+" end");
            }
        };

        new Thread(r).start();
        new Thread(r).start();

    }
    
    // 只输出了 Thread[main,5,main] init deadloop

 

以上是关于关于类加载线程 和主线程是否是一个线程的疑问的主要内容,如果未能解决你的问题,请参考以下文章

关于多线程并发同时使用lock时的疑问

Android Handler相关面试题你能答对多少?子线程和主线程是如何切换的?

Java面试中的“劲敌”线程,9个疑问全面解析

iOS 主线程和主队列

python 多线程中子线程和主线程相互通信

关于pthread_cond_wait()的疑问