在Python中學習課程平行計算

”“”

在Python中學習並行計算

在Python中發現多線程,多處處理,競爭和並行編程

在全球投資銀行12樓的會議上的氣氛非常緊張。該公司的開發人員聚集在一起討論關鍵的中央應用程序發生故障之後的最佳前進方法,從而導致系統中斷。 “伙計們,我們在這裡有一個嚴重的問題。我發現中斷是由我們的代碼中的種族條件引起的,該條件是在不久前引入並昨晚被激活的,”高級開發人員邁克爾·約翰遜( Michael Johnson)說。房間沉默了。汽車從地板上窗戶到天花板,在城鎮繁忙的交通中緩慢移動。高級開發人員立即了解情況的嚴重性,意識到他們現在必須不懈地努力以糾正問題並解決數據庫中的混亂。經驗不足的開發人員知道,種族條件是一個嚴重的事情,但他們不確定自己的確切原因,因此他們保持沉默。最終,送貨經理戴維·湯普森(David Thompson)打破了沉默,說:“該應用程序已經完美運行了幾個月,沒有任何問題。我們沒有最近發布任何代碼。軟件如何突然破裂?!”每個人都搖了搖頭,回到桌子上,讓大衛獨自一人在房間裡困惑。他將手機從口袋裡取出,研究“種族狀況”。這種情況聽起來很熟悉嗎?您有多少次聽到另一位開發人員討論線程的使用和競爭編程來解決特定問題,但是出於恐懼,您選擇不參加對話?這是高級開發人員永遠不會透露的秘密……多線程和多處理編程比常規編程要困難得多。開發人員害怕競爭編程,因為他們認為這是為經驗豐富的開發人員保留的高級主題。但是,這遠非事實。我們的思想習慣於處理日常生活中沒有問題的競爭,但是由於某種原因,我們很難將其轉化為代碼。原因之一是我們缺乏對可用於管理競爭的概念和工具的熟悉。本課程旨在幫助您了解如何使用多線程和多處理工具和概念來處理並行編程。它旨在盡可能實用。我們從有關並行性的一些理論解釋開始,然後陷入操作系統如何管理各種過程和線程。稍後,我們探索了使用競爭編程來解決示例問題的各種工具。儘管本課程側重於Python,但您在這裡學到的概念可以應用於大多數編程語言。您可以在github的用戶名/項目中找到本課程中使用的所有代碼:ficturyname/mulethreadinpython。

您將學到什麼

  • 找出如何開發響應式和高性能軟件。
  • 了解如何使用多線程和多處理來建模特定問題。
  • 使用Python制定高度競爭和並行程序。
  • 了解並行計算的優勢,局限性和屬性。
  • 通過多線程和多處理方面更高級主題來提高您的Python編程技能。
  • 探索線程,過程,靜音,障礙,等待組,隊列,管道,狀況變量,僵局等。
Scroll to Top