python 主線程 掛起

2021-08-21 07:28:33 字數 460 閱讀 9780

有時我們需要掛起主線程,當io執行緒 滿足條件時 再執行。

可以通過python中的event(事件)來實現該功能

import threading

wake_event=threading.event()

#主線程,假如主線有個while迴圈

while true:

wake_event.wait()

wake_event.clear()

#執行下面的操作

***#子執行緒滿足條件時通知主線程

def run():

***x

wake_event.set()

注意 :執行緒中如有有while 迴圈,記著呼叫time.sleep(),或者 event.wait(),不然會一直占用cpu 

只有乙個執行緒。

當然如果你用的python3.x 可以考慮asyncio 

掛起執行緒注入

掛起執行緒後,獲得執行緒當前的上下背景文。將其中的eip設定為我們shellcode的位址,執行完畢後再返回原本的eip 提權獲得執行緒的id 可以通過程序id createtoolhelp32snapshot th32cs snapthread,0 te32.th32ownerprocessid ...

python主線程捕獲子執行緒的方法

最近,在做乙個專案時遇到的了乙個問題,主線程無法捕獲子執行緒中丟擲的異常。先看乙個執行緒類的定義 created on oct 27,2015 author wujz import threading class runscriptthread threading.thread def init s...

主線程和子執行緒

子執行緒通過 handlerthread的thread.getlooper 繫結,在主線程的handler的handlermessage中呼叫threadhandler.sendmessagedelay msg,1000 向子執行緒傳送訊息。在子執行緒中通過handler.sendmessagede...