本课程以 Java 8 为背景,向学员(行业专业人士和学生)讲授并行编程的基本概念。并行编程使开发人员能够使用多核计算机,通过同时使用多个处理器来加快应用程序的运行速度。课程结束时,您将学会如何使用流行的并行 Java 框架(如 ForkJoin、Stream 和 Phaser)为服务器、台式机或移动设备等各种多核平台编写并行程序,同时还将学习其理论基础,包括计算图、理想并行、并行加速、阿姆达尔定律、数据竞赛和确定性。 为什么要学习本课程?
了解顶级公司的员工如何掌握热门技能

积累特定领域的专业知识
- 向行业专家学习新概念
- 获得对主题或工具的基础理解
- 通过实践项目培养工作相关技能
- 获得可共享的职业证书

该课程共有7个模块
欢迎来到《Java 并行编程》!本课程设计为三部分系列,通过各种视频讲座、演示和编码项目涵盖一个主题或知识体系。
涵盖的内容
1个视频5篇阅读材料1个编程作业1个讨论话题
在本模块中,我们将学习任务并行的基础知识。任务是并行编程的最基本单元。越来越多的编程语言(包括 Java 和 C++)正在从老式的基于线程的并行编程方法转向更现代的基于任务的并行编程方法。我们将学习任务创建、任务终止和 "计算图 "理论模型,以了解任务并行程序的各种特性。 这些属性包括工作、跨度、理想并行性、并行加速和阿姆达尔定律。我们还将学习用于任务并行的流行 Java API,其中最著名的是 Fork/Join 框架。
涵盖的内容
7个视频6篇阅读材料1个作业1个编程作业
欢迎来到模块 2! 在本模块中,我们将学习受到函数式编程启发的并行方法。 数十年来,并行函数式编程的倡导者一直认为,函数式并行可以消除命令式并行可能出现的许多难以检测的错误。 我们将学习期货、memoization 和流,以及数据竞赛,这是一类臭名昭著的错误,而函数式并行可以避免这些错误。 我们还将学习用于函数式并行的 Java API,包括 Fork/Join 框架和流 API。
涵盖的内容
7个视频6篇阅读材料1个作业1个编程作业
Vivek Sarkar 教授与 Two Sigma 总经理 Jim Ward、软件工程师 Margaret Kelley 和 Jake Kornblau 在得克萨斯州休斯顿市中心的办公室就并行编程的重要性进行了交谈。
涵盖的内容
2个视频1篇阅读材料
欢迎来到模块 3,祝贺您已到达本课程的中点! 众所周知,许多应用程序的大部分执行时间都是在循环中度过的,因此我们有强烈的动机学习如何通过使用并行性来加速循环,这也是本模块的重点。 首先,我们将学习如何使用 Java 中的 forall 和流 API 方便地表达并行计数循环,以及如何使用这些 API 并行一个简单的矩阵乘法程序。 我们还将学习并行循环的障碍结构,并通过一个简单的迭代平均程序示例来说明其用法。 最后,我们将了解分组/分块并行迭代以减少开销的重要性。
涵盖的内容
7个视频6篇阅读材料1个作业1个编程作业
欢迎来到本课程的最后一个模块! 在本模块中,我们将学习如何利用数据流原理来提高程序的并行性,从而结束并行编程的介绍。 我们将学习如何使用 Java 的 Phaser API 来实现 "模糊 "障碍,并通过重温迭代平均示例来学习 "点对点 "同步作为常规障碍的优化。 最后,我们还将学习如何使用 Java API 表达流水线并行性和数据流模型。
涵盖的内容
7个视频7篇阅读材料1个作业1个编程作业
接下来的两个视频将展示学习 Java 中并发编程和分布式编程的重要性。Vivek Sarkar 教授将与 Two Sigma 的业内专业人士讨论如何在实际工作中运用我们另外两门课程的主题。
涵盖的内容
2个视频1篇阅读材料
获得职业证书
将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。
位教师

从 软件开发 浏览更多内容
- 状态:免费试用
Rice University
- 状态:免费试用
Rice University
- 状态:免费试用
Rice University
- 状态:免费试用
École Polytechnique Fédérale de Lausanne
人们为什么选择 Coursera 来帮助自己实现职业发展




学生评论
1,232 条评论
- 5 stars
69.07%
- 4 stars
22.80%
- 3 stars
6.49%
- 2 stars
1.13%
- 1 star
0.48%
显示 3/1232 个
已于 May 25, 2020审阅
I found the explanation of how to precisely code phasors lacking as the Thread stuff was already provided in sample code and never explained. Quite satisfied with the rest of the course though.
已于 Dec 26, 2017审阅
Very relevant concepts, explained beautifully by a very experienced professor. The assignments were good, but they could involve more programming for more practice!
已于 Jan 27, 2018审阅
Instructor is awesome. However instead of sharing ready libraries for parallelism (like forall loop) in section 3, native codes should be used for forall loops etc.
常见问题
要获取课程资料、作业和证书,您需要在注册课程时购买证书体验。 您可以尝试免费试听,或申请资助。课程可能提供 "完整课程,无证书"。通过该选项,您可以查看所有课程资料,提交必要的评估,并获得最终成绩。这也意味着您无法购买证书体验。
注册课程后,您就可以访问专项课程中的所有课程,完成作业后还可以获得证书。您的电子证书将添加到您的 "成就 "页面--在那里,您可以打印证书或将其添加到您的 LinkedIn 个人资料中。
是的。在特定的学习课程中,如果您付不起注册费,可以申请助学金或奖学金。如果您选择的学习课程有助学金或奖学金,您可以在说明页面找到申请链接。
更多问题
提供助学金,