进程与线程的各种锁分析总结

本文探讨了进程和线程的锁机制,包括mutex锁、读写锁及文件锁等,并对比了它们之间的效率和实用性差异。通过实验得出,线程mutex锁效率高于rwlock,而进程mutex锁比文件锁效率更高。

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

进程的文件读写锁学习:http://blog.youkuaiyun.com/anonymalias/article/details/9197641

http://blog.chinaunix.net/uid-27177626-id-3791049.html


线程的读写锁学习:http://blog.youkuaiyun.com/callinglove/article/details/46646369


至于进程和线程的mutex锁在我前篇文章就有http://blog.youkuaiyun.com/jason_zjj/article/details/54731334


另外附上linux中mmap的共享内存用法http://blog.youkuaiyun.com/angelbosj/article/details/8272887


经过github的test_lock文件里的四个程序测试,

得到了一些结论:

对于线程的mutex锁,效率比线程的读写锁(rwlock)要高,但是没有读写锁实用性强,因为读写锁可以有共享读锁。

对于进程的mutex锁,效率比文件读写锁的效率要高的非常多,文件锁效率虽然非常慢,但是比较安全,在一个进程挂掉之后,如果它获取了mutex锁。则其他进程会阻塞,但是如果用了文件锁,则会自动释放该锁。


然后线程的mutex是比进程的mutex效率高的。。毕竟线程比较轻量级。


前篇文章对线程和进程的mutex锁的使用已经分析的比较详细。

对于文件锁的话,其实也叫记录锁,可以对文件的部分字节范围的数据进行上锁。这样就可以实现用一个文件,供给多个进程同时上锁(不同位置的锁)。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值