赞
踩
使用多线程处理热成像算法,进行绘制热成像图。出现BUG:消息里的图和文字全部错乱,仅有几组可视化图像正确。
尝试对问题定位。对算法中每一步进行针对性的算时间和修改。最终定位在画图步骤中。于是,发现 import matplotlib.pyplot as plt 是个全局变量。 应该就是它引起的线程不安全。
原始画图代码如下:
图像空白:
图像错乱:
加上这个锁操作。
from threading import Lock,RLock
lock = Lock()
rlock = RLock()
顺利解决,图像错位和全白问题。
使用lock锁时候,有概率出现deadlock 的情况。
这个情况出现概率极低,但是,还是需要注意。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。