Python 如何从两个线程安全地写入同一文件?
以下是上下文:我制作了一个Qt5程序来驱动一个源计,它将电信号应用于一个样本并测量其反应,实时将数据绘制到matplotlib。看起来是这样的: 绘图由主线程完成,测量/应用在另一个线程中完成,以便显示不会减慢测量速度 该程序还有一个按钮,可以从绘图中获取所有可用数据并将其存储在.csv文件中,但我正在考虑让它实时逐个写入值。我想为用户添加一个可选的输入来添加描述,因此存储的数据将是实际的I/V/时间列,有时会被诸如“t=60,示例闻起来很滑稽”之类的文本打断。将描述行写入文件将很容易,它只是一个连接到一个小函数的按钮。问题是我的文件已经在其他地方打开了这是个问题吗?,我实际上不知道,如果是: 当测量线程打开文件时,如何从主线程安全地编写此附加描述文本? 提前感谢。Python 如何从两个线程安全地写入同一文件?,python,multithreading,file,pyqt,Python,Multithreading,File,Pyqt,以下是上下文:我制作了一个Qt5程序来驱动一个源计,它将电信号应用于一个样本并测量其反应,实时将数据绘制到matplotlib。看起来是这样的: 绘图由主线程完成,测量/应用在另一个线程中完成,以便显示不会减慢测量速度 该程序还有一个按钮,可以从绘图中获取所有可用数据并将其存储在.csv文件中,但我正在考虑让它实时逐个写入值。我想为用户添加一个可选的输入来添加描述,因此存储的数据将是实际的I/V/时间列,有时会被诸如“t=60,示例闻起来很滑稽”之类的文本打断。将描述行写入文件将很容易,它只是一
- 在主线程中打开该文件
- 将文件句柄传递给其他线程
- 在每个线程中,在写入文件之前始终锁定
threading.Lock()
,并查看链接问题