1.3 KiB
1.3 KiB
QThread
1、继承QThread
2、moveToThread
3、线程挂起恢复
注意,这里只是简单演示,在应用这些代码时要小心
- 这里使用windows的api实现,主要用到
SuspendThread
和ResumeThread
函数 - 利用
ctypes.windll.kernel32.OpenThread(win32con.PROCESS_ALL_ACCESS, False, int(QThread.currentThreadId()))
- 得到线程的句柄,然后就可以通过上面的两个函数对其进行挂起与恢复
ctypes.windll.kernel32.TerminateThread
终止线程,不推荐
4、线程休眠唤醒
使用 QWaitCondition
的 wait
和 wakeAll
方法
5、线程退出
isInterruptionRequested
和 requestInterruption
函数作为退出标识调用