1
42
对。它还为其他编程语言提供了一个平台,其中的实现增加了“真正的多线程”或“真正的线程”卖点。这个 G1 Garbage Collector 在较新的版本中引入了多核硬件。 Java并发编程实战Java Concurrency in Practice 书。
|
2
9
操作系统线程比商品多核系统早了很长一段时间,所以这并不是一个真正的问题。多核系统的唯一区别是允许时间复用的操作系统线程作为多核上真正的并发线程执行。 |
3
8
Java5引入了Java.util.concurrent包,它有助于构建可从多核系统获益的并发应用程序。这个包远远超出了Java1.4和更早版本中提供的多线程功能(如synchronized、wait、notify等)。 java7有一个提议,要包含 Fork/Join 使多核系统更容易使用的框架。 |
4
2
你会发现 Ateji PX中的功能,Java语言的一个扩展,带有受pi演算启发的并行原语。与线程编程和基于线程的一切(任务、执行器等)完全不同。 这种方式在语言级引入的并行性,与线程库相反,线程库提供了对硬件级概念的API访问,使得多核编程更加简单和直观。 这是一种全新的并行编程方法,值得一读(免责声明:我是Ateji PX的设计者)。白皮书如下: http://www.ateji.com/px/whitepapers/Ateji%20PX%20for%20Java%20v1.0.pdf |
5
0
对。Java提供 concurrent API 您可以从运行时获取可用处理器计数,并使用该计数创建 ExecutorService Executors . 你也可以使用 ThreadPoolExecutor API实现的。 Java8提供了另一个API:newWorkStealingPool,它使用所有可用的处理器创建ForkJoinPool。不必将处理器计数作为参数传递。
查看相关SE问题权利执行人: |
KhaledWas · 单核处理器的多线程代码和多核处理器的单线程代码 8 年前 |
SMSk · 限制核心用途PyCharm 9 年前 |
Gaurang Tandon · 在多核计算机上查找执行时间 11 年前 |