【发布时间】:2020-11-08 21:19:19
【问题描述】:
我所知道的是,在 JDK 1.2 之后,所有 Java 线程都是使用“本机线程模型”创建的,该模型在 JNI 和 OS 线程库的帮助下将每个 Java 线程与一个 OS 线程相关联。
所以从下面text我相信现在所有创建的Java线程都可以实现多核处理器的使用:
多个本机线程可以共存。因此也称为多对多模型。该模型的这种特性使其能够充分利用多核处理器并同时在单独的单个内核上执行线程。
但是当我在JAVA The Compelete Reference 中读到关于 JDK 7 中引入的 Fork/Join Framework 的介绍时:
虽然最初的并发 API 本身就令人印象深刻,但它在 JDK 7 中得到了显着扩展。最重要的新增功能是 Fork/Join 框架。 Fork/Join 框架有助于创建使用多个处理器的程序(例如多核系统中的那些)。因此,它简化了程序的开发,其中两个或多个部分以真正的同时执行(即真正的并行执行),而不仅仅是时间片。
这让我质疑为什么自 JDK 3 以来存在“Java 原生线程模型”时才引入该框架?
【问题讨论】:
标签: java multithreading operating-system java-7