美文网首页
2-2 java语言和多线程的渊源和关系

2-2 java语言和多线程的渊源和关系

作者: 西西_20f6 | 来源:发表于2020-07-19 19:17 被阅读0次

    一、Java设计之初——支持多线程
    1,Java在服务端开发语言中的地位——常年高居前三
    服务端开发经常会用到多线程,所以Java和多线程密不可分。

    2,Java的多线程会一一映射到操作系统的内核线程,有些语言是虚拟线程,它不会在操作系统对应地去创建一个线程。

    二、我们刚才启动的线程是200个,为什么在活动监视器中看到了两百多个。
    因为JVM自动启动线程

    /**
     * 即使在代码中我们不显示地创建线程,在运行main()的时候,
     * JVM也会自动帮我们创建一些其他的线程,并且这些线程都是有特殊的含义和作用的。
     */
    public class JavaAndThreads {
        public static void main(String[] args) {
            System.out.println("Hello Threads");
        }
    }
    
    image.png

    除了main线程,JVM还帮我们创建的线程有Finalizer,Reference Handler,Single Dispatcher。
    JVM创建这些线程的作用:
    1,Single Dispatcher:会将操作系统发过来的信号分发给适当的应用程序,它是用来连接操作系统和应用程序的。
    2,Finalizer:在每个对象结束的时候可能会实现finalizer(),但是随着Java语言的发展,finalizer()已经不再推荐使用。
    3,Reference Handler:和GC,引用相关的线程。它会将每个对象的引用记录在案,然后配合垃圾回收。
    4,main:主线程,用户程序的入口。

    相关文章

      网友评论

          本文标题:2-2 java语言和多线程的渊源和关系

          本文链接:https://www.haomeiwen.com/subject/bjgfkktx.html