PYTHON高并發(fā)與高性能編程:原理與實踐 版權(quán)信息
- ISBN:9787111729396
- 條形碼:9787111729396 ; 978-7-111-72939-6
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
PYTHON高并發(fā)與高性能編程:原理與實踐 本書特色
阿里P 8撰寫,基于Python 3.X對協(xié)程、線程、鎖、性能優(yōu)化等從原理和實踐兩個層面進(jìn)行講解,內(nèi)含大量案例
PYTHON高并發(fā)與高性能編程:原理與實踐 內(nèi)容簡介
這是一本深入解讀Python并發(fā)編程和高性能編程的原理和特性,并指導(dǎo)讀者落地實踐的專業(yè)技術(shù)書。本書共分為4篇19章,外加2個附錄;A(chǔ)篇:對Python并發(fā)編程和高性能編程所涉概念解讀詳細(xì)解讀,對Python3.x系列版本在高并發(fā)、高性能方面所做的概念進(jìn)行簡單分析。高并發(fā)篇:從原理、主要模塊、協(xié)程、線程、鎖、優(yōu)先級、同步/異步、原子性和線程池等多個方面對Python實現(xiàn)高并發(fā)進(jìn)行深度解讀。高性能篇:從代碼優(yōu)化、profile、Python c擴(kuò)展這三個方面分析Python實現(xiàn)高性能的原理。實踐篇:本篇首先介紹了基礎(chǔ)實踐環(huán)境的搭建方法,然后通過3個常見的高并發(fā)、高性能場景對如何在日常工作中實現(xiàn)高性能、高并發(fā)編程進(jìn)行了詳細(xì)指導(dǎo)。兩個附錄分別介紹了當(dāng)下主流兩個框架Django和fastAPI的簡單使用方法。
PYTHON高并發(fā)與高性能編程:原理與實踐 目錄
目 錄?Contents
前 言
基礎(chǔ)篇
第1章 Python高級編程所涉及的基礎(chǔ)
概念 2
1.1 Python中的類 2
1.2 Python中的對象 6
1.3 進(jìn)程與線程 7
1.3.1 進(jìn)程與線程的區(qū)別和聯(lián)系 7
1.3.2 線程的7種狀態(tài) 8
1.4 多線程與多進(jìn)程 9
1.4.1 多線程 9
1.4.2 多進(jìn)程 9
1.4.3 單線程 10
1.4.4 多線程的優(yōu)勢與不足 10
第2章 Python 3.X版本簡析 11
2.1 線程實現(xiàn)方式的改進(jìn) 11
2.2 線程優(yōu)先級隊列的改進(jìn) 19
2.3 日志輸出模塊的性能提升與改進(jìn)
方式 21
2.3.1 傳統(tǒng)的日志輸出方式與性能
分析 22
2.3.2 基于Logging模塊的日志輸出
方式 23
2.3.3 兩種方式的對比 24
2.4 GIL的性能提升與改進(jìn)方式 24
2.4.1 GIL實現(xiàn)線程安全與性能
分析 24
2.4.2 Concurrent模塊的引入 26
2.4.3 替換GIL實現(xiàn)線程安全與
性能分析 28
高并發(fā)篇
第3章 Python 高并發(fā)與高性能實現(xiàn)的基本原理 32
3.1 并發(fā)編程的挑戰(zhàn) 32
3.2 高性能編程的挑戰(zhàn) 33
3.3 Python高并發(fā)實現(xiàn)的基本原理 34
3.3.1 Python線程安全性的實現(xiàn) 35
3.3.2 Python線程同步的實現(xiàn) 38
3.3.3 Python原子性的實現(xiàn) 39
3.4 Python高性能實現(xiàn)的基本
原理 42
3.4.1 淺談CPython虛擬機(jī) 42
3.4.2 基于CPython的Python代碼
執(zhí)行過程分析 42
3.4.3 基于Cython的Python代碼
執(zhí)行性能優(yōu)化原理 46
3.4.4 基于Pypy的Python代碼
執(zhí)行性能優(yōu)化原理 47
3.5 高并發(fā)與高性能之間的關(guān)系 48
3.6 Python中對象的創(chuàng)建與狀態(tài)
管理 50
3.6.1 從源碼角度剖析Python
對象的創(chuàng)建過程 50
3.6.2 Python對象的狀態(tài) 53
3.7 淺談Python對象的內(nèi)存回收
機(jī)制 54
第4章 Threading模塊詳解 57
4.1 Threading模塊與高并發(fā) 57
4.2 Threading模塊中常用方法和類的
實現(xiàn)原理解析 61
4.3 Python線程的創(chuàng)建與使用 67
4.4 Python線程的銷毀 69
第5章 Python協(xié)程的實現(xiàn) 71
5.1 Python協(xié)程的基本概念 71
5.2 EventLoop的運(yùn)作原理與實現(xiàn) 73
5.2.1 EventLoop的運(yùn)作原理 73
5.2.2 Python中EventLoop的
實現(xiàn) 74
5.3 深入理解Asyncio庫 76
5.4 使用EventLoop和Asyncio庫
實現(xiàn)Python協(xié)程 80
第6章 Python中的線程通信 82
6.1 Python線程阻塞現(xiàn)象及原因
分析 82
6.2 為什么會出現(xiàn)Python線程
競爭 84
6.3 如何保證Python線程順序
執(zhí)行 86
6.4 Python中如何實現(xiàn)線程間通信 90
6.4.1 單線程的等待 90
6.4.2 多線程之間的通信 91
6.5 Python線程死鎖現(xiàn)象及原因
分析 96
第7章 鎖機(jī)制及其實現(xiàn)原理 98
7.1 Python中如何實現(xiàn)鎖 98
7.2 Python中主流的內(nèi)置鎖及其
實現(xiàn)原理 100
7.3 Python中GIL與線程鎖的
區(qū)別和聯(lián)系 107
7.4 Python鎖的*佳實踐—公平鎖
與非公平鎖 108
第8章 線程安全 112
8.1 Python本身保證線程安全嗎 112
8.2 實現(xiàn)Python線程安全的傳統(tǒng)措施
及原理分析 113
第9章 線程優(yōu)先級 118
9.1 什么是線程優(yōu)先級 118
9.2 實現(xiàn)高并發(fā)不一定要實現(xiàn)線程
優(yōu)先級 119
9.3 Python線程優(yōu)先級的實現(xiàn) 120
第10章 線程同步與異步 123
10.1 什么是線程同步與異步 123
10.2 線程同步與異步在Python中的
實現(xiàn) 126
10.2.1 Python中的線程同步
實現(xiàn) 126
10.2.2 Python中的線程異步
實現(xiàn) 129
第11章 Python中的原子性 131
11.1 Python中的原子變量與原子
性操作 131
11.2 Python中原子變量與原子性操作的實現(xiàn)原理 132
第12章 Python線程池的實現(xiàn) 137
12.1 什么是線程池 137
12.2 Python線程池的實現(xiàn)方式 139
高性能篇
第13章 Python代碼性能優(yōu)化 148
13.1 基礎(chǔ)代碼優(yōu)化 148
13.1.1 循環(huán)優(yōu)化 148
13.1.2 數(shù)學(xué)計算優(yōu)化 152
13.2 垃圾回收優(yōu)化 153
13.2.1 降低垃圾回收的頻率 154
13.2.2 調(diào)整垃圾回收參數(shù) 157
第14章 基于Profile的性能優(yōu)化 159
14.1 Python Profile簡介 159
14.2 使用Profile分析Python代碼 160
14.3 GUI的引入 163
第15章 基于Python的C拓展組件的
性能優(yōu)化 166
15.1 Python架構(gòu)模型簡介 166
15.2 基于Python的C拓展組件的
優(yōu)化思路 169
15.3 基于Python的C拓展組件對
并發(fā)線程進(jìn)行性能優(yōu)化 172
15.3.1 代碼瓶頸的產(chǎn)生 172
15.3.2 代碼執(zhí)行速度的恢復(fù) 173
實踐篇
第16章 Python代碼實踐環(huán)境的
搭建 176
16.1 Python開發(fā)利器—
PyCharm 176
16.2 基于Django的Python Web應(yīng)用
環(huán)境搭建 180
16.2.1 基于命令行創(chuàng)建Django
項目 180
16.2.2 基于PyCharm創(chuàng)建Django
項目 181
16.3 基于FastAPI的Python Web
應(yīng)用環(huán)境搭建 182
第17章 高并發(fā)環(huán)境下的郵件發(fā)送
功能 185
17.1 Python實現(xiàn)基礎(chǔ)郵件發(fā)送
功能 185
17.1.1 基于Django環(huán)境的
實現(xiàn) 185
17.1.2 基于FastAPI環(huán)境的
實現(xiàn) 186
17.2 Python實現(xiàn)安全地發(fā)送郵件 188
17.2.1 基于Django環(huán)境的實現(xiàn) 188
17.2.2 基于FastAPI環(huán)境的
實現(xiàn) 189
17.3 基于Locust框架的郵件發(fā)送
功能并發(fā)性能測試 190
第18章 高并發(fā)環(huán)境下的日志打印
功能 193
18.1 Python實現(xiàn)基礎(chǔ)日志打印
功能 193
18.1.1 基于Django環(huán)境的
實現(xiàn) 193
18.1.2 基于FastAPI環(huán)境的
實現(xiàn) 195
18.2 Python實現(xiàn)安全地打印日志 196
18.2.1 基于Django環(huán)境的
實現(xiàn) 196
18.2.2 基于FastAPI環(huán)境的
實現(xiàn) 197
18.3 基于Locust框架的日志打印
功能并發(fā)性能測試 198
第19章 高并發(fā)環(huán)境下的用戶注冊和
登錄功能 200
19.1 Python實現(xiàn)基礎(chǔ)的用戶注冊和
登錄功能 200
19.1.1 基于Django環(huán)境的
實現(xiàn) 200
19.1.2 基于FastAPI環(huán)境的
實現(xiàn) 205
19.2 Python實現(xiàn)安全地登錄注冊 206
19.2.1 基于Django環(huán)境的
實現(xiàn) 206
19.2.2 基于FastAPI環(huán)境的
實現(xiàn) 208
19.3 基于Locust框架的用戶注冊和
登錄功能并發(fā)性能測試 209
附錄
附錄A Django框架快速入門 212
附錄B FastAPI框架快速入門 218
展開全部
PYTHON高并發(fā)與高性能編程:原理與實踐 作者簡介
曾就職于阿里云,現(xiàn)就職于河鋼集團(tuán)(世界五百強(qiáng),國企),主要負(fù)責(zé)公司項目的架構(gòu)搭建、技術(shù)選型、新人及同事技術(shù)培訓(xùn)工作。CSDN 認(rèn)證博客專家,慕課網(wǎng)簽約 Wiki 講師,開源項目 Nacos 代碼 Contributor。在Python、Java開發(fā)方面經(jīng)驗豐富,尤其是在高并發(fā)方面有較深研究。熟悉Spring,SpringMVC,Spring Boot、MyBatis、Spring Cloud、Spring Cloud