fbpx

Python中的並行和平行程式設計

通過並行(concurrency)加速你的程式

從這 6 小時的課程,你會學到

  • 如何在 Python 中使用並行( concurrency )和平行性( parallelism )
  • 如何編寫多執行緒程式( multi-threaded programs )
  • 如何編寫多行程處理程式( multi-process programs )
  • 如何編寫非同步程式( asynchronous programs )

要求

基本熟悉 Python

課程說明

在本課程中,你將學習如何在 Python 中創建多執行緒、非同步和多行程( multi-process )處理程式,從而使你的程式運行得更快。

在與其他資源通信的應用程式中,很多時間都花在等待資訊從一個地方傳遞到另一個地方。你將學習如何使用多執行緒和非同步程式設計來加速受 IO 操作嚴重瓶頸的程式。

我們將首先介紹潛在的速度瓶頸來自何處以及如何解決這些問題,然後我們將直接深入研究技術內容,並一起建構一個多執行緒程式,從網際網路,解析並將其保存到本地資料庫中。

其他程式可能更受 CPU 限制的影響。我們還將學習如何在 Python 中實現多元處理,該程式庫( library  )允許我們在 Python 程式碼中使用多個 CPU。有了這個,我們將能夠將我們的工作負載分散到我們正在使用的機器上的所有可用內核上。

最後,我們還將考慮將這兩個元素結合起來,看看我們如何將多元處理( multiprocessing )與非同步( asynchronous  )程式設計結合使用,從而為自己獲得最大收益,最大限度地利用 CPU 資源並最大限度地減少閒置等待 IO 回應所花的時間。

你可以在第一堂課鏈接的 GitHub 貯存庫( repository )中找到講座中的程式碼。

目標受眾

Python 開發人員希望通過添加並行( concurrency )來使他們的程式更快

講師簡介

Maximilian Schallwig 資料工程師

嘿!我叫 Max。

我是一個熱愛資料、玩龍與地下城、玩 Python 程式的傢伙。

我擁有物理學學士學位和天體物理學碩士學位。

在過去的 5 年裡,我一直在資料領域工作——從一名資料科學家開始,然後成為一名資料工程師並開始工作。

我完全偶然地偶然進入了程式設計和資料的世界——但我第一次用 Python 編寫一個簡單的二十一點程式是它第一次對我來說真正開竅。

據說,如果你達到一種“心流”狀態,你就知道你真的喜歡這活動,這就是程式設計對我的作用。一切都消失了,只剩下我,一些好聽的曲調,那幾行白色的文字,還有一兩個或五個 bug 的激動陪伴。

老實說,這三個決定完全改變了我的職業道路(可能還有我的生活):

  1. 高中2次失敗後,決定最終在大學學習Python
  2. 嘗試進入資料世界,首先在 Google 上搜索“資料科學家做什麼”
  3. 通過學習大數據工具和基礎設施設計來建構可擴展的系統和管道,致力於成為資料工程師的樞紐

我可以無休止地談論資料基礎設施、大數據管道以及我對 Python 的無怨無悔永恆燃燒的火。

研究資料給了我對工作的無盡熱情,徹底改變了我的人生軌跡。

我迫不及待地想幫助你找到並有相同的成就。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

使用 Notion 來做上課筆記?

udemy 的課程講座數量動輒上百個,如果你要使用 Notion 當作是線上課程的筆記輔助工具,為這些講座建立與組織筆記是一件耗時且沒效率的工作

為了解決這個問題,Soft & Share 開發一個 chrome extension – LN+ for udemy ,可以根據 udemy 線上課程的課程大綱幫你自動建立成 Notion 筆記資料庫並產生筆記與課程的雙向關聯讓您專心上課與寫筆記就好,不用再煩惱課程筆記要放哪裡的問題!

🛫了解 LN+ for udemy 更多功能介紹請參考 – Learning Notes Plus for udmy


報名參加課程

Sponsored by Udemy


🛫使用關鍵字連結獲得更多線上學習資訊?請參考這個網頁說明


幫我們個小忙!

使用 e-mail 追蹤 Soft & Share

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: