PyQt/多线程
2018-11-25 22:21:25 +08:00
..
ScreenShot 线程休眠唤醒 2018-11-25 22:21:25 +08:00
moveToThread.py 更新完善Readme 2018-10-30 23:59:00 +08:00
README.md 线程休眠唤醒 2018-11-25 22:21:25 +08:00
线程休眠唤醒.py 线程休眠唤醒 2018-11-25 22:21:25 +08:00
线程挂起恢复.py 更新完善Readme 2018-10-30 23:59:00 +08:00
继承QThread.py 更新完善Readme 2018-10-30 23:59:00 +08:00

多线程

PyQt多线程的简单使用例子

1、继承QThread

2、moveToThread

3、线程挂起恢复

注意,这里只是简单演示,在应用这些代码时要小心

  1. 这里使用windows的api实现主要用到SuspendThreadResumeThread函数
  2. 利用ctypes.windll.kernel32.OpenThread(win32con.PROCESS_ALL_ACCESS, False, int(QThread.currentThreadId()))
  3. 得到线程的句柄,然后就可以通过上面的两个函数对其进行挂起与恢复

ctypes.windll.kernel32.TerminateThread终止线程,不推荐

截图

4、线程休眠唤醒

使用QWaitCondition的wait和wakeAll方法

截图