• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

      400-811-9990
      手機(jī)站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

      千鋒教育

      掃一掃進(jìn)入千鋒手機(jī)站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時隨地免費學(xué)習(xí)課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當(dāng)前位置:合肥千鋒IT培訓(xùn)  >  技術(shù)干貨  >  pythongil是什么

      pythongil是什么

      來源:千鋒教育
      發(fā)布人:xqq
      時間: 2023-11-08 20:48:38

      pythongil是什么

      1、說明

      是全局解釋器鎖,每個線程在執(zhí)行時候都需要先獲取GIL,保證同一時刻只有一個線程可以執(zhí)行代碼,即同一時刻只有一個線程使用CPU,也就是說多線程并不是真正意義上的同時執(zhí)行。

      2、產(chǎn)生原因

      (1)GuidovanRossum(吉多·范羅蘇姆)創(chuàng)建python時就只考慮到單核cpu。

      (2)解決多線程之間數(shù)據(jù)完整性和狀態(tài)同步的最簡單方法自然就是加鎖。于是有了GIL這把超級大鎖。

      (3)cpython解析只允許擁有GIL全局解析器鎖才能運行程序。

      (4)保證同一個時刻只允許一個線程可以使用cpu。

      (5)以前寫cpython解析器的時候就考慮一個cpu情況。

      (6)由于大量的程序開發(fā)者接收了這套機(jī)制,現(xiàn)在代碼量越來越多,已經(jīng)不容易通過c代碼去解決這個問題。

      3、gil鎖的釋放時機(jī)

      (1)遇到像i/o操作這種會有時間空閑情況造成cpu閑置的情況會釋放Gil

      (2)會有一個專門ticks進(jìn)行計數(shù)一旦ticks數(shù)值達(dá)到100這個時候釋放Gil鎖線程之間開始競爭Gil鎖(說明:

      (3)ticks這個數(shù)值可以進(jìn)行設(shè)置來延長或者縮減獲得Gil鎖的線程使用cpu的時間)

      以上就是pythongil的介紹,大家在了解基本的用法后,可以去找一些gil的實例進(jìn)行練習(xí)。更多Python學(xué)習(xí)教程請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

      猜你喜歡LIKE

      python是什么編程語言

      2023-11-08

      pythonprogram是什么

      2023-11-08

      python包和文件夾有什么區(qū)別

      2023-11-08

      最新文章NEW

      pythoninsert函數(shù)是什么

      2023-11-08

      pythongil是什么

      2023-11-08

      pythontry是什么意思

      2023-11-08

      相關(guān)推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網(wǎng)友熱搜 更多>>