结构体 * s =(结构体 * )args
然后访问结构体时 ,结构体s的值有时为空 有时正确
请教一下是什么原因,谢谢
s是结构体的指针,不是结构体的拷贝
它依赖于被指向的内存
仔细检查args的生命周期,有没有被回收,有没有别的线程在修改它
这个问题很可能是由于在线程内部和外部对结构体进行了修改,导致数据不一致。在线程内部访问结构体时,可能会看到结构体的旧值。为了避免这个问题,可以使用互斥锁或读写锁来保护结构体的修改。或者使用“std::atomic” 变量来保证线程安全。
args没有被操作吧? 这个会影响s的