Python高階gil面試題

2021-09-19 08:23:40 字數 574 閱讀 7494

描述python gil的概念, 以及它對python多執行緒的影響?編寫⼀個多

執行緒抓取⽹⻚的程式,並闡明多執行緒抓取程式是否可⽐單執行緒效能有提

公升,並解釋原因。

guido的宣告:

forum=106&thread=214235

參***:

python語⾔和gil沒有半⽑錢關係。僅僅是由於歷史原因在

cpython虛擬機器(直譯器),難以移除gil。

gil:全域性直譯器鎖。每個執行緒在執⾏的過程都需要先獲取gil,保

證同⼀時刻只有⼀個執行緒可以執⾏**。

執行緒釋放gil鎖的情況: 在io操作等可能會引起阻塞的system call

之前,可以暫時釋放gil,但在執⾏完畢後,必須重新獲取gil python

3.x使⽤計時器(執⾏時間達到閾值後,當前執行緒釋放gil)或

python 2.x,tickets計數達到100

python使⽤多程序是可以利⽤多核的cpu資源的。

多執行緒爬取⽐單執行緒效能有提公升,因為遇到io阻塞會⾃動釋放gil

python語法面試題 python面試題

1.去重,集合 集合的乙個重要特點是 自動去除重複的值 li 1,2,3,1,1,2,2,3,3 去除重複的元素 set set li 轉換為集合,因為集合會自動去重。print set li list set 將集合轉換為列表print li 2.生成器 規則 生成器函式,或者生成器表示式,在呼叫...

IOS高階面試題

1.寫一下uibutton與uitableview的層級結構 2.cocoa的foundation物件與core foundation物件通過什麼關鍵字進行轉換?這些關鍵字有什麼區別?3.kvo是什麼?內部是怎麼實現的?4.是否可以把比較耗時的操作放在nsnotificationcenter中處理?...

PHP高階面試題

1.寫出乙個能建立多級目錄的php函式 function createdir path,mode elseelse path aa bb cc cd 要建立的目錄 mode 0755 建立目錄的模式 createdir path,mode 測試 2.請寫一段php 確保多個程序同時寫入同乙個檔案成功...