加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 多次读取和单次写入 – 线程安全?

发布时间:2020-12-16 07:01:41 所属栏目:百科 来源:网络整理
导读:我有一个数据结构,有两种方法来访问它:query()和modify().多个线程可以同时使用query(),但只有一个线程可以进入modify(),同时所有使用query()的线程必须在modify()访问之前退出. 在C中使这个数据结构线程安全的最佳方法是什么? (我读到了升级读/写锁定,但
我有一个数据结构,有两种方法来访问它:query()和modify().多个线程可以同时使用query(),但只有一个线程可以进入modify(),同时所有使用query()的线程必须在modify()访问之前退出.

在C中使这个数据结构线程安全的最佳方法是什么?

(我读到了升级读/写锁定,但我被告知它可能比使用互斥锁慢3-40倍)

解决方法

通常,您应该使用互斥锁保护共享数据.

但是如果您共享数据的类型是整数,您还可以考虑使用std :: atomic,这通常比锁定互斥锁快得多.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读