如何在Python线程之间正确共享字符串

时间:2019-04-06 19:50:04

标签: python python-2.7

在两个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。但是我想共享一个完整的字符串(我不知道确切的字符串长度)

最干净的方法是什么?

如果您想更详细地了解我想做什么,可以阅读此书。否则,您可以跳过:

我想在后台处理一些数据,并且带有进度条的对话框(应该在主线程中运行)应该显示进度。 进度不仅显示百分比,而且还显示一个字符串消息,该字符串消息指示当前正在执行的操作。 因此,我必须在两个线程之间共享此字符串消息。

有人可以告诉我什么是最好的方法吗?

非常感谢!

0 个答案:

没有答案
相关问题