备忘两个关于阻塞的问题

2022年6月2日 812点热度 1人点赞 0条评论

最近做重构的过程中遇到两个关于进程阻塞的问题,这里备忘一下:

PySimpleGUI主循环的阻塞问题:


在while循环中进行 window,event,values = sg.read_all_windows 进行事件监听时,如果read_all_windows不加timeout参数,那么默认会阻塞进程,直到event的发生,也就是说,你在调用read_all_windows后的非event代码,只有在event被触发后才有机会得到执行,所以如果有些复杂点的需求,必须加上timeout参数。

os.system的阻塞问题:


通过程序执行字符串命令行会用到os.system,这个模块也是默认阻塞进程的,字符串执行的命令如果结束执行,才能执行os.system之后的代码。解决方法是用os.system('start 命令行')的方式执行命令行,则不会发生阻塞。

以上备忘

QThinker

前地产从业者,假装是个程序员,热爱编程与交易 自研QThinker量化交易框架

文章评论