加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在Java中使用线程进行并行编程

发布时间:2020-12-15 04:49:11 所属栏目:Java 来源:网络整理
导读:Parallel programming was possible in Java only from Java 7 with the advent of Join/Fork framework . 让我们说在Java中,使用ExecutorService我创建一个4线程的线程池并提交给它说10个任务,这意味着4个线程将开始执行4个任务,其他6个任务将由线程获取,当

Parallel programming was possible in Java only from Java 7 with the
advent of Join/Fork framework.

让我们说在Java中,使用ExecutorService我创建一个4线程的线程池并提交给它说10个任务,这意味着4个线程将开始执行4个任务,其他6个任务将由线程获取,当任何线程完成其任务.

假设我有一个具有4个内核的四核处理器,我知道一个线程可以在一个内核上运行(这里没有采用超线程概念)所以我的所有4个线程并行工作,1个内核运行1个线程?这不是一个并行编程吗?

编辑:Source of reading – 这是Java 8播放列表,在第1章中提到可以从Java 7开始进行并行编程.

解决方法

你的结局存在误解.

I read that parallel programming was possible in Java only from Java 7 with the advent of Join/Fork framework.

那是错的. Join / Fork语句只是另一个抽象层,它为您提供了更强大的概念 – 与“裸机”线程相比.

Isn’t it a parallel programming?

您已清楚地概述了您的任务将进入支持4个线程的池中;并且您的硬件也应该支持4个线程.这样的工作将同时进行.请不要:Fork / Join与ExecutorService不同.相反,两者都是先进的概念;旨在使您更容易“并行编程”.

在简要回听了问题中链接的视频之后:该教程是关于Java8添加了流的事实,并且在并行流之上(使用下面的Fork / Join框架 – 这是Java 7引入的).

无论如何,该视频强调与早期版本的Java相比,并行程序变得更加简单.所以它根本不是介绍以前不可能的东西 – 而是提供新的更强大的抽象,使得更容易做这些事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读