在两个Python线程之间共享字符串的最佳方法是什么?
我正在第二个线程中运行一个方法,我想在这些线程之间共享一些数据。
# arr = Array(c_char_p, 3)
val = multiprocessing.Value(c_char)
p = multiprocessing.Process(target=process_data, args=(val,))
我想在这些进程之间共享字符串。而且我发现了articels,它指示我应该为此使用c_char_p。 但是我一直收到此错误: “ ValueError:无效的字符串指针0x02A82214”
我用它搜索了一下,发现c_char_p是一个指针,如果在不同线程之间使用它会导致问题。相反,我应该使用c_char(不带p) 只要我只有一个字符,就可以使用c_char。但是我想共享一个完整的字符串(我不知道确切的字符串长度)
最干净的方法是什么?
如果您想更详细地了解我想做什么,可以阅读此书。否则,您可以跳过:
我想在后台处理一些数据,并且带有进度条的对话框(应该在主线程中运行)应该显示进度。 进度不仅显示百分比,而且还显示一个字符串消息,该字符串消息指示当前正在执行的操作。 因此,我必须在两个线程之间共享此字符串消息。
有人可以告诉我什么是最好的方法吗?
非常感谢!