学习 Python 中的并行计算
通过 Python 中实用且有趣的示例探索多线程、多处理、并发和并行编程
讲师:James Cutajar
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 了解如何创建响应迅速且性能高的软件。
- 了解如何使用多线程和多处理来建模某些类型的问题。
- 使用 Python 开发高度并发和并行的程序。
- 了解并行计算的优势、局限性和特性。
- 通过更高级、多线程和多处理主题提高您的 Python 编程技能。
- 了解线程、进程、互斥锁、屏障、等待组、队列、管道、条件变量、死锁等。
探索相关主题
要求
- 具有一定的 Python 编程经验(如果您知道如何使用函数、列表和字典就足够了)。
- 安装了最新版本的 Python。
- 能够做 50 个引体向上,同时每次都喊出一个独特的质数(开个玩笑)。
描述
在一家国际投资银行12楼的会议室里,气氛低落至极。一个关键的核心应用程序发生故障,导致全系统瘫痪。公司开发人员开会讨论最佳的后续方案。
“伙计们,我们遇到了一个严重的问题。我发现这次宕机是由我们代码中的一个竞争条件引起的,这个竞争条件是前段时间引入的,昨晚触发的。”高级开发人员马克·亚当斯 (Mark Adams) 说道。
房间里一片寂静。落地窗外的汽车在拥挤的城市交通中缓慢而无声地爬行着。高级开发人员立刻意识到情况的严重性,意识到他们现在将夜以继日地工作以修复问题并清理数据存储中的混乱局面。经验不足的开发人员知道竞争条件很严重,但不知道确切的原因,因此保持沉默。
最终,交付经理 Brian Holmes 打破了沉默:“该应用程序已经运行了几个月,没有任何问题,我们最近没有发布任何代码,软件怎么可能突然崩溃?!”
大家都摇摇头,回到自己的座位,只剩下Brian一脸茫然地站在房间里。他拿出手机,在谷歌上搜索“竞争条件”。
听起来很熟悉?你有多少次听到其他开发人员谈论使用线程和并发编程来解决某个特定问题,但出于恐惧而选择退出?
这是高级开发人员永远不会分享的小秘密……多线程和多处理编程并不比普通编程难多少。开发人员害怕并发编程,因为他们认为这是一个只有经验丰富的开发人员才能接触的高级主题。
这远非事实。我们的思维非常习惯于处理并发。事实上,我们在日常生活中处理并发问题毫无问题,但不知何故,我们很难将其转化为代码。其中一个原因是我们不熟悉管理并发的概念和工具。本课程旨在帮助您了解如何使用多线程和多处理工具及概念来管理并行编程。它旨在尽可能地实用。我们将首先介绍一些并行理论,然后解释操作系统如何处理多个进程和线程。之后,我们将通过使用并发编程解决示例问题来解释可用的多种工具。
在本课程中我们使用 Python 语言,但是这里学到的概念可以应用于大多数编程语言。
本课程的所有代码都可以在github上找到,用户名/项目:cutajarj/multithreadinginpython
本课程适合哪些人:
- 希望通过提高技能和学习并发和并行编程将自己的职业生涯提升到新水平的开发人员。
- 目前正在学习并行计算的大学生想要了解课堂上学到的概念与实践有何关联。
- 经验丰富的开发人员曾为这个问题苦苦挣扎,并想用不同的方法再试一次。
- 交付经理打电话给 Brian Holmes。
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。