并發(fā)班-忘仙通信0501_第1頁
并發(fā)班-忘仙通信0501_第2頁
并發(fā)班-忘仙通信0501_第3頁
并發(fā)班-忘仙通信0501_第4頁
并發(fā)班-忘仙通信0501_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Python并發(fā)班教室講師:Tuple時(shí)間:2018年1月教學(xué)監(jiān)督熱線 教學(xué)監(jiān)督熱線 01020304階段一: 獨(dú)立的進(jìn)程內(nèi)存空間與 共享的服務(wù)器進(jìn)程空間階段二: 線程間共享的全局變量 與同步鎖的基本概念 階段三: 線程與進(jìn)程安全的隊(duì)列階段四: 消費(fèi)者與生產(chǎn)者模式本節(jié)知識(shí)點(diǎn)階段一獨(dú)立的進(jìn)程內(nèi)存空間與共享的服務(wù)器進(jìn)程空間教學(xué)監(jiān)督熱線 共享進(jìn)程空間知識(shí)點(diǎn)010203知識(shí)點(diǎn)一: 進(jìn)程間通信的限制知識(shí)點(diǎn)二: 進(jìn)程間通信的解決方案知識(shí)點(diǎn)三: Manger對(duì)象的基本使用互不干擾的獨(dú)立內(nèi)存空間我們想的只是不能修改變量但是,深層次問題是,這個(gè)進(jìn)程與那個(gè)進(jìn)程完全失去了聯(lián)系進(jìn)程間通信的解決方案1. 管理器負(fù)責(zé)與公

2、共進(jìn)程通信2. 代理負(fù)責(zé)操作共享的空間Manger對(duì)象的基本使用一般常用的空間類型是:1. mgr.list()2. mgr.dict()3. mgr.Queue()關(guān)于Queue()我們稍后演示階段二線程間共享的全局變量與同步鎖的基本概念教學(xué)監(jiān)督熱線 線程同步的基本知識(shí)010203知識(shí)點(diǎn)一: 線程間也會(huì)出現(xiàn)進(jìn)程間通信的問題嘛? 知識(shí)點(diǎn)二: 如果不會(huì),是否會(huì)產(chǎn)生一些問題?知識(shí)點(diǎn)三: 有沒有解決這個(gè)問題的方法?線程間全局變量的共享提示!因?yàn)榫€程屬于同一個(gè)進(jìn)程,因此它們之間共享內(nèi)存區(qū)域。因此全局變量是公共的。共享內(nèi)存間存在競(jìng)爭問題提示! 如果1000000不能出現(xiàn)效果可以繼續(xù)在后面加0使用鎖來控制

3、共享資源的訪問階段三線程與進(jìn)程安全的隊(duì)列教學(xué)監(jiān)督熱線 隊(duì)列的問題引入010203問題一: Python有沒有專門用于 進(jìn)程或線程通信的數(shù)據(jù)結(jié)構(gòu)?問題二: 這個(gè)數(shù)據(jù)結(jié)構(gòu)算公共資源嘛?問題三: 我們是否需要對(duì)其加鎖?隊(duì)列的基本概念一個(gè)入口,一個(gè)出口先入先出(FIFO)線程安全隊(duì)列操作一覽入隊(duì): put(item)出隊(duì): get()測(cè)試空: empty() # 近似 測(cè)試滿: full() # 近似隊(duì)列長度: qsize() # 近似任務(wù)結(jié)束: task_done()等待完成: join()queue.Queue進(jìn)程安全隊(duì)列操作一覽入隊(duì): put(item)出隊(duì): get(block)測(cè)試空: em

4、pty() # 近似 測(cè)試滿: full() # 近似隊(duì)列長度: qsize() # 近似mgr.Queue其他問題解釋隊(duì)列算公共資源嘛?我們是否需要對(duì)其加鎖?答:如果只是一個(gè)線程/進(jìn)程在使用,那么它并不算公共資源。但是一旦多個(gè)線程/進(jìn)程在同時(shí)使用,那么它就是一個(gè)公共資源。答:如果被當(dāng)作公共資源使用,那么按理說是必須要加鎖的。但是,線程安全或進(jìn)程安全的隊(duì)列中已經(jīng)幫我們實(shí)現(xiàn)了鎖。因此我們不需要再自己使用鎖來同步。階段四消費(fèi)者與生產(chǎn)者模式教學(xué)監(jiān)督熱線 消費(fèi)-生產(chǎn)模式 問題引入010203問題一: 什么是消費(fèi)者 與生產(chǎn)者模式?問題二: 為什么需要消費(fèi)者 與生產(chǎn)者模式?問題三: 如何通過隊(duì)列實(shí)現(xiàn) 消費(fèi)者與生產(chǎn)者模式?消費(fèi)者與生產(chǎn)者模式的概念所謂,生產(chǎn)者與消費(fèi)者模型,其實(shí)是把一個(gè)需要進(jìn)程通信的問題分開考慮生產(chǎn)者,只需要往隊(duì)列里面丟東西(生產(chǎn)者不需要關(guān)心消費(fèi)者)消費(fèi)者,只需要從隊(duì)列里面拿東西(消費(fèi)者也不需要關(guān)心生產(chǎn)者)消費(fèi)者與生產(chǎn)者模式的應(yīng)用Web服務(wù)器與Web框架之間的關(guān)系uwsgi / gunicorn多線程的消費(fèi)者與生產(chǎn)者模式生產(chǎn)者:只關(guān)心隊(duì)列是否已滿。沒滿,則生產(chǎn),滿了就阻塞。消費(fèi)者:只關(guān)心隊(duì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論