c – 其他线程可以修改线程本地内存吗?
发布时间:2020-12-16 03:38:00 所属栏目:百科 来源:网络整理
导读:假设我有以下声明: thread_local std::atomicvoid* local_var; 是否允许从其他线程修改local_var?也就是说,如果我将local_var的地址传递给另一个线程,那么不会从那里修改local_var来召唤那些恶魔吗? 解决方法 是的,允许修改另一个线程的线程局部变量. thr
假设我有以下声明:
thread_local std::atomic<void*> local_var; 是否允许从其他线程修改local_var?也就是说,如果我将local_var的地址传递给另一个线程,那么不会从那里修改local_var来召唤那些恶魔吗? 解决方法
是的,允许修改另一个线程的线程局部变量.
thread_local对变量的意思是名称引用每个线程中的不同对象,但这并不意味着该对象对其线程是私有的.如果您使用其名称以外的其他内容(即其地址)来表示变量,则其他线程可以访问它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |