软件英才?/p>
软件行业驰名招聘网站
有需要请联系我们
多线程的那点儿事(之原子锁)
原子锁是多线程编程中的一个特色。然而,
在平时的软件编写中,原子锁的使用并不是很多。这其中原因很多,我想主要有?/p>
个方面。第一,关于原子锁这方面的内容介绍的比较少;第二,人们在编程上面习
惯于已有的方案,如果没有特别的需求,不过贸然修改已存在的代码。毕竟对很多
人来说,不求有功,但求无过。保持当前代码的稳定性还是很重要的?/p>
其实,早在《多线程数据互斥》这篇博客中,我们就已经介绍过原子锁。本?/p>
博客主要讨论的就是原子锁怎么使用。中间的一些用法只是我个人的一些经验,?/p>
望能够抛砖引玉,多听听大家的想法?/p>
?/p>
1
)查找函数中原子?/p>
在一些函数当中,有的时候我们需要对满足某种特性的数据进行查找。在传统
的单?/p>
CPU
上,优化的空间比较有限。但是,现在多核
CPU
已经成了主流配置?/p>
所以我们完全可以把这些查找工作分成几个子函数分在几个核上面并行运算。但
是,这中间就会涉及到一个问题,那就是对公共数据的访问。传统的访问方式,应
该是这样的,
1
unsigned int count = 0; 2
3
int find_data_process( 4
{ 5