当前位置: 技术问答>linux和unix
线程同步读取变量可不可以不用互斥锁
来源: 互联网 发布时间:2016-08-14
本文导语: 有一个变量 int a; 在线程1中对a进行写操作,也就是加加减减。 在线程2中对a进行读操作,主要是记录在一个文件中,持续不断记录。 我如果不用互斥锁,而是仅仅把a定义成volatile int a; 可不可以实现线程2中数据...
有一个变量 int a;
在线程1中对a进行写操作,也就是加加减减。
在线程2中对a进行读操作,主要是记录在一个文件中,持续不断记录。
我如果不用互斥锁,而是仅仅把a定义成volatile int a;
可不可以实现线程2中数据的同步刷新啊?
在线程1中对a进行写操作,也就是加加减减。
在线程2中对a进行读操作,主要是记录在一个文件中,持续不断记录。
我如果不用互斥锁,而是仅仅把a定义成volatile int a;
可不可以实现线程2中数据的同步刷新啊?
|
看具体的业务逻辑是怎么样的吧,如果读出来的数据仅仅是展示一下,而没有任何逻辑依赖于你读出来的数据的话就可以不用加锁了。
|
你这种情况最好用一个互斥锁,读写之前上锁,读写完释放锁;如果读的次数比写的次数多很多的话,就用读写锁。
|
看数据的重要程度了。
不是很重要的话 int数据不用锁也没问题,出错的几率非常低的。
不是很重要的话 int数据不用锁也没问题,出错的几率非常低的。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。