在多线程环境中,Matplotlib plot画图会随机画图,乱花图。所以在线程中使用plot,需要加上lock,确保画图安全。
# 创建一个全局锁 lock = threading.Lock()
#使用 with
语句自动获取和释放锁,避免忘记释放锁。
with lock: plt.plot(list) plt.savefig('./%s.jpg' % file_name, dpi=600) plt.close() # 关闭图形
threading.Lock()
是Python中用于实现线程同步的重要工具,能够有效避免多线程环境下的竞争条件。通过合理使用锁,可以确保共享资源的安全访问。