有時我們需要掛起主線程,當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...