我有一个将产生多个线程的应用程序.但是,我觉得线程访问数据不一定存在问题.
这是线程应用程序的结构(抱歉粗略):
MainThread / \ / \ / \ Thread A Thread B / \ / \ / \ / \ / \ / \ Thread A_1 Thread A_2 Thread B_1 Thread B_2
在每个字母线程(可能很多)下,只有两个线程,它们按顺序触发.我遇到的问题是我不完全确定如何将数据结构传递到这些线程中.
因此,数据结构在MainThread中创建,将在特定于该线程的字母线程(线程A等)中进行修改,然后将该数据结构中的成员变量发送到Letter_Numbered线程.
目前,字母线程类有一个成员变量,当构造类时,来自mainthread的数据结构通过引用传入,调用复制构造函数,以便字母线程拥有它自己的副本.
lettered_numbered线程只是从字母线程中的数据结构中获取一个字符串变量.我的问题是,这是可以接受的吗?有没有更好的方法来确保每个字母线程获得自己的数据结构?
对不起有些不好的解释,请留下评论,我会尽力澄清.
编辑:
所以我的字母线程构造函数应该采用数据结构的VALUE,而不是引用?