日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)Python教程:Python中如何切換GIL?

1、通過(guò)判斷指令計(jì)數(shù)器切換GIL

成都創(chuàng)新互聯(lián)主營(yíng)五指山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開(kāi)發(fā)公司,五指山h5成都小程序開(kāi)發(fā)搭建,五指山網(wǎng)站營(yíng)銷(xiāo)推廣歡迎五指山等地區(qū)企業(yè)咨詢

(1)python的解釋器是在一個(gè)大的循環(huán)中逐個(gè)解析字節(jié)碼指令;

(2)每次循環(huán)開(kāi)始都會(huì)檢查一下_Py_Ticker的值。

{
    ...
    for (;;)
        ...
        if (--_Py_Ticker < 0) {
            ...
            _Py_Ticker = _Py_CheckInterval;
            ...
            if (interpreter_lock) {
                ...
                PyThread_release_lock(interpreter_lock);
                PyThread_acquire_lock(interpreter_lock, 1);
            }
        }
        ...
        switch (opcode) {
            case: ...
        }
    }
}

2、IO阻塞之前切換GIL

Python允許在執(zhí)行block型的system call之前允許其他線程執(zhí)行(Py_BEGIN_ALLOW_THREADS),然后再重新嘗試獲取GIL(Py_END_ALLOW_THREADS)。

#define Py_BEGIN_ALLOW_THREADS { \
                        PyThreadState *_save; \
                        _save = PyEval_SaveThread();

以上就是Python中切換GIL的方法,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)推薦:python教學(xué)

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。


分享文章:創(chuàng)新互聯(lián)Python教程:Python中如何切換GIL?
URL地址:http://www.dlmjj.cn/article/dpdossi.html