女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GIL鎖是什么?為什么需要GIL鎖呢?

冬至子 ? 來(lái)源:BU科研通 ? 作者:BU科研通 ? 2023-09-20 15:44 ? 次閱讀

圖片

全局解釋器鎖或GIL是一個(gè)互斥鎖,它阻止多個(gè)本機(jī)線程同時(shí)執(zhí)行Python字節(jié)碼。這個(gè)鎖是必需的,主要是因?yàn)镃Python的內(nèi)存管理不是線程安全的。(然而,由于GIL的存在,其他的特性已經(jīng)發(fā)展到依賴于它所執(zhí)行的保證。)

在CPython的環(huán)境下,即使在多核的情況下,同一個(gè)進(jìn)程啟動(dòng)多個(gè)線程,只能執(zhí)行一個(gè)線程。 無(wú)法利用多核的一個(gè)優(yōu)勢(shì)

GIL的優(yōu)點(diǎn):

保證Cpython解釋器內(nèi)存管理的線程安全

GIL的缺點(diǎn):

同一進(jìn)程內(nèi)所有的線程同一時(shí)刻只能有一個(gè)執(zhí)行。
也就是說(shuō)Cpython解釋器的多線程無(wú)法實(shí)現(xiàn)并行。

為什么需要GIL :

python中一切都是對(duì)象,Cpython中對(duì)象的回收,是通過(guò)對(duì)象的引用計(jì)數(shù)來(lái)判斷,當(dāng)對(duì)象的引用計(jì)數(shù)為0時(shí),就會(huì)進(jìn)行垃圾回收,自動(dòng)釋放內(nèi)存。

但是如果多線程的情況,引用計(jì)數(shù)就變成了一個(gè)共享的變量 Cpython是當(dāng)下最流行的Python的解釋器,使用引用計(jì)數(shù)來(lái)管理內(nèi)存,在Python中,一切都是對(duì)象,引用計(jì)數(shù)就是指向?qū)ο蟮闹羔様?shù),當(dāng)這個(gè)數(shù)字變成0,則會(huì)進(jìn)行垃圾回收,自動(dòng)釋放內(nèi)存。但是問(wèn)題是Cpython是線程不安全的。

考慮下如果有兩個(gè)線程A和B同時(shí)引用一個(gè)對(duì)象obj,這個(gè)時(shí)候obj的引用計(jì)數(shù)為2;A打算撤銷對(duì)obj的引用,完成第一步時(shí)引用計(jì)數(shù)減去1時(shí),這時(shí)發(fā)生了線程切換,A掛起等待,還沒(méi)執(zhí)行銷毀對(duì)象操作。

B進(jìn)入運(yùn)行狀態(tài),這個(gè)時(shí)候B也對(duì)obj撤銷引用,并完成引用計(jì)數(shù)減1,銷毀對(duì)象,這個(gè)時(shí)候obj的引用數(shù)為0,釋放內(nèi)存。如果此時(shí)A重新喚醒,要繼續(xù)銷毀對(duì)象,可是這個(gè)時(shí)候已經(jīng)沒(méi)有對(duì)象了。所以為了保證不出現(xiàn)數(shù)據(jù)污染,才引入GIL。

CPU密集型:在高CPU利用率的代碼中,此時(shí)這種同一時(shí)刻只能有一個(gè)線程訪問(wèn)CPU機(jī)制會(huì)響應(yīng)效率,如高計(jì)算類的代碼中。如真遇到這種情況,可以用多進(jìn)程,不用多線程處理

IO密集型:處理文件、處理web請(qǐng)求、爬取網(wǎng)頁(yè)、設(shè)備文件、讀寫(xiě)數(shù)據(jù)、send、recv,我們遇到的基本都是IO的,很少遇到計(jì)算類的東西

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2284

    瀏覽量

    96021
  • 多線程技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    8636
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4823

    瀏覽量

    86153
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    特高壓交流GIL輸電技術(shù)研究及應(yīng)用

    氣體絕緣輸電線路(gas-insulated transmission line,GIL)具有傳輸容量大、運(yùn)行可靠性高、環(huán)境友好的特點(diǎn),國(guó)內(nèi)外尚無(wú)特高壓GIL成熟產(chǎn)品和應(yīng)用案例,亟需開(kāi)展其關(guān)鍵技術(shù)
    發(fā)表于 12-15 14:39 ?1次下載
    特高壓交流<b class='flag-5'>GIL</b>輸電技術(shù)研究及應(yīng)用

    什么是GIL?GIS與GIL的有什么區(qū)別?GIL氣體絕緣輸電線路教程免費(fèi)下載

    GIL : Gas Insulated transmission Line 氣體絕緣輸電線路或 CGIT: Compressed Gas Insulated Transmission line
    發(fā)表于 09-10 08:00 ?44次下載
    什么是<b class='flag-5'>GIL</b>?GIS與<b class='flag-5'>GIL</b>的有什么區(qū)別?<b class='flag-5'>GIL</b>氣體絕緣輸電線路教程免費(fèi)下載

    哪些因素影響智能價(jià)格?-坤坤智能

    哪些因素影響智能價(jià)格?-坤坤智能如今,市場(chǎng)上的智能價(jià)格從幾百到幾千的都有,為什么相差這么大?哪些因素影響智能價(jià)格
    發(fā)表于 11-21 10:04 ?580次閱讀

    為什么智能的價(jià)格比普通機(jī)械高?-諾托智能

    為什么智能的價(jià)格比普通機(jī)械高?-諾托智能如今,智能越來(lái)越普及化,很多家庭都選擇智能,但是,為什么智能
    發(fā)表于 12-03 11:44 ?461次閱讀

    關(guān)于智能需要了解什么

    如今,智能已經(jīng)成為家居必備的產(chǎn)品,是智能家居必不可少的代表性產(chǎn)物。然而,在智能市場(chǎng)上不要單純地追趕智能門(mén)鎖潮流,而是細(xì)心了解、尋找真正適合自己的智能產(chǎn)品。那么,關(guān)于智能
    發(fā)表于 03-30 15:52 ?481次閱讀

    智能的電池怎么換_智能的市場(chǎng)前景

    智能區(qū)別于傳統(tǒng)的機(jī)械,傳統(tǒng)的機(jī)械門(mén)鎖是不需要電池進(jìn)行驅(qū)動(dòng),可以永久使用,不用擔(dān)心電的問(wèn)題,而智能門(mén)鎖因?yàn)槭请娮涌刂频模芏喙δ芏?b class='flag-5'>需要電的支撐,所以
    發(fā)表于 04-07 14:30 ?9949次閱讀

    如何區(qū)分指紋門(mén)禁和指紋

    指紋門(mén)禁和指紋怎么區(qū)分?指紋門(mén)禁和指紋門(mén)鎖有何區(qū)別?在很多時(shí)候,普通消費(fèi)者容易將指紋門(mén)禁和指紋門(mén)鎖的定義混淆,其實(shí)二者是有區(qū)別的,適用范圍和需求也不一樣,在選購(gòu)產(chǎn)品時(shí),
    發(fā)表于 06-11 14:43 ?5163次閱讀

    如何設(shè)置指紋

    隨著科技的發(fā)展,很多需要上鎖的東西都變成了使用指紋。指紋的好處在于它方便,而且不容易被打開(kāi)。每個(gè)人的指紋都是獨(dú)一無(wú)二的,那么打開(kāi)指紋的鑰匙也就是獨(dú)一無(wú)二的了。現(xiàn)在很多人都會(huì)在手機(jī)
    發(fā)表于 06-15 17:35 ?5640次閱讀

    世界首條特高壓GIL工廠首次全面“體檢”,保障華東地區(qū)能源供應(yīng)

    7月29日,“萬(wàn)里長(zhǎng)江第一廊”——世界首條特高壓GIL管廊完成工程投運(yùn)以來(lái)首次全面“體檢”,有力保障了今夏用電高峰期華東地區(qū)能源供應(yīng)安全,更好地促進(jìn)長(zhǎng)三角地區(qū)一體化發(fā)展。
    發(fā)表于 07-31 11:03 ?1011次閱讀

    在全自動(dòng)智能和半自動(dòng)智能之間又該如何選擇

    就目前的智能產(chǎn)品選擇多樣,對(duì)一般家庭來(lái)說(shuō),在全自動(dòng)智能和半自動(dòng)智能之間又該如何選擇?其工作原理是什么??jī)烧咧g又各有什么優(yōu)勢(shì)和區(qū)別
    的頭像 發(fā)表于 08-20 16:19 ?9147次閱讀

    GIL在CPython解釋器中的工作原理是什么?

    我是一個(gè)Python線程,我的工作就是解釋執(zhí)行程序員編寫(xiě)的Python代碼。 之所以說(shuō)是解釋執(zhí)行,是因?yàn)镻ython是高級(jí)語(yǔ)言,CPU那家伙不認(rèn)識(shí)Python代碼,需要運(yùn)行的時(shí)候動(dòng)態(tài)翻譯成CPU指令
    的頭像 發(fā)表于 03-22 10:01 ?1501次閱讀
    <b class='flag-5'>GIL</b>在CPython解釋器中的工作原理是什么?

    為什么需要分布式 基于Zookeeper安全嗎

    這篇文章我想和你聊一聊,關(guān)于 Redis 分布式的「安全性」問(wèn)題。 Redis 分布式的話題,很多文章已經(jīng)寫(xiě)爛了,我為什么還要寫(xiě)這篇文章? 因?yàn)槲野l(fā)現(xiàn)網(wǎng)上 99% 的文章,并沒(méi)有把這個(gè)問(wèn)題真正
    的頭像 發(fā)表于 08-10 18:06 ?5780次閱讀

    Python新提案:使全局解釋器成為可選項(xiàng)

    如果該提案通過(guò),意味著默認(rèn)情況下 CPython 不會(huì)刪除或關(guān)閉 GIL,也不會(huì)讓用戶有選擇地啟用 / 刪除 GIL。因?yàn)?-without-gil是一個(gè)編譯時(shí)標(biāo)志,可以在從源代碼構(gòu)建 Python
    的頭像 發(fā)表于 01-13 15:31 ?615次閱讀

    自旋和互斥的區(qū)別有哪些

    自旋 自旋與互斥很相似,在訪問(wèn)共享資源之前對(duì)自旋進(jìn)行上鎖,在訪問(wèn)完成后釋放自旋(解鎖);事實(shí)上,從實(shí)現(xiàn)方式上來(lái)說(shuō),互斥
    的頭像 發(fā)表于 07-21 11:19 ?9854次閱讀

    互斥和自旋的實(shí)現(xiàn)原理

    保護(hù)共享資源不被多個(gè)線程同時(shí)訪問(wèn)。它的實(shí)現(xiàn)原理主要包括以下幾個(gè)方面: 1. 的初始化 互斥鎖在創(chuàng)建時(shí)需要進(jìn)行初始化,通常包括設(shè)置的狀態(tài)為“未鎖定”。在某些實(shí)現(xiàn)中,還需要初始化
    的頭像 發(fā)表于 07-10 10:07 ?928次閱讀