在Linux下看代码的一些收获

本文探讨了内核编程中锁机制的应用与理解。通过分析典型代码片段,解释了锁的作用并非直接锁定对象,而是协调多线程间的访问,防止并发操作导致的数据不一致问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:       

1、本文全文为半香仙笛(Woody.c)原创       

2、如果需要转载本文,请注明出处:        http://blog.youkuaiyun.com/mcg890414/archive/2010/08/16/5815322.aspx

3、如果需要和笔者交流,请邮件至mcg890414@163.com

 

      近日看Sreekrishnan的书,发现无论对于等待队列,工作队列,还是文件,等等,只要是需要进行操作的单元,在内核编程中,普遍运用了锁机制。

      一开始我一直没有特别清楚锁机制的用途和含义,也没有正面应用过锁机制,但是最近看的多了,也渐渐有了认识,比如:

      这几句,虽然我个人对原书内容进行了改动,不过没关系,这里分析问题就好了。我想说,锁机制并不是说“锁”住了整个结构对象,或者说简单点,锁机制,只是“锁”了“锁”而已,当然这是我的理解,并不是说我就是对的(如果我理解错了,请不吝指正)。

      我认为,锁机制其实是程序员对一段程序和其他进程之间,进行“类似通信”的约束关系,其实只是锁与锁之间的关系,与被“锁”的对象没有任何关系,如果你不加锁直接访问一个已加锁的对象,其实还是可以访问的,不过,这些线程同时运行,可能相安无事,也可能造成不可预计的麻烦,所以,加锁在这种为了防止意外的情况下,还是相当必要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值