写给自己
python+Qt编写多线程的过程中,由于python和Qt都各自有各自的线程、定时器的书写方法,在此,将它整理一下。
python
线程的使用
import threading
import time
def fun(arg):
#do somthing
print('call fun(arg=%d)' % arg)
for i in range(4):
my_thread = threading.Thread(target=fun,args=(i,))
my_thread.start()
# call fun(arg=0)
# call fun(arg=1)
# call fun(arg=2)
# call fun(arg=3)
使用threading.Thread()函数创建线程,调用start()函数启动线程。
线程同步机制
编写多线程时,必然要考虑同步互斥,要用到互斥锁、条件变量、信号量等,参考如下博文:
https://www.cnblogs.com/Security-Darren/p/4732914.html
定时器
定时器是在threading里面的一个模块,每当定时器到期,调用一个函数,有关其例子,可以看:
定时循环线程的例子
在隔一段时间就抓取保存照片的程序中,简单的方法,就可以利用定时器,每隔一段时间启用线程,查看当前时间是否满足要求,满足则保存图片
import threading
import time
def fun(arg):
#判断并抓取图片
print