我讀通過Grok The GIL,它有大約鎖定在討論下面的語句。 只要當它睡覺沒有線程持有鎖,並I/O,或其他一些GIL-下垂動作,你應該使用最粗,最簡單的鎖定成爲可能。無論如何,其他線程無法並行運行。 它剛剛討論了搶先式多任務處理。什麼能防止在你鎖定時發生GIL的搶先丟棄?或者這不是這個陳述所指的?
我有一個GTK應用程序,我需要並行運行幾個任務。應用程序從串口接收數據,然後根據數據,它必須在標籤上顯示文本並播放音頻。我正在使用基於事件的串行通信,如果收到數據,則會使標誌變爲高電平。 在主循環中,我創建了3個無限制地運行的線程。 Thread1 to read serial data
Thread2 to display data on gtk label
Thread3 to play