我有一个类文件。我创建了两个线程 A 和 B。在 A 和 B 中,每个线程,我创建一个自动变量 File myfile
。然后A和B会操作它。那安全吗?会不会导致数据不一致?
最佳答案
从纯内存资源的角度来看,这将取决于您的 File
变量的范围:
如果它们是局部函数变量,您就可以开始了。每个执行线程都拥有自己的堆栈,完全独立于其他线程,并在其中创建局部变量。
如果它们是
static
,则您指的是同一个全局地址。
从文件访问的角度来看,这将取决于它是否是同一个文件,以及您是否正在写入它。
关于c++ - 多线程环境下的同名变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18126973/