Ana*_*and 3 java multithreading java-threads
Java中只有Java 7才能实现并行编程
Join/Fork framework.
让我们说在Java中,使用ExecutorService我创建一个4线程的线程池并提交给它说10个任务,这意味着4个线程将开始执行4个任务,其他6个任务将被线程选中,当任何线程完成其任务时.
假设我有一个具有4个内核的四核处理器,我知道一个线程可以在一个内核上运行(这里没有采用超线程概念)所以我的所有4个线程并行工作,1个内核运行1个线程?这不是一个并行编程吗?
编辑: 阅读源 - 这是Java 8播放列表,在第1章中提到可以从Java 7开始实现并行编程.
你的结局存在误解.
我读到,随着Join/Fork框架的出现,只能从Java 7开始在Java中实现并行编程.
那是错的.Join/Fork语句只是另一个抽象层,它为您提供了更强大的概念 - 与"裸机"线程相比.
这不是一个并行编程吗?
您已清楚地概述了您的任务将进入支持4个线程的池中; 并且您的硬件也应该支持4个线程.这样的工作将同时进行.而请勿:叉/加入是不一样的ExecutorService.相反,两者都是先进的概念; 旨在使您更容易"并行编程".
在简要回听了问题中链接的视频之后:该教程是关于Java8 添加流的事实,并且在并行流之上(使用下面的Fork/Join框架 - 这是Java 7引入的).
无论如何,该视频强调与早期版本的Java相比,并行程序变得更加 简单.所以它根本不是介绍以前不可能的东西 - 而是提供新的更强大的抽象,使得更容易做这些事情.
| 归档时间: |
|
| 查看次数: |
1386 次 |
| 最近记录: |