进程与线程的各种锁分析总结
2017-02-02 01:04
204 查看
进程的文件读写锁学习:http://blog.csdn.net/anonymalias/article/details/9197641
http://blog.chinaunix.net/uid-27177626-id-3791049.html
线程的读写锁学习:http://blog.csdn.net/callinglove/article/details/46646369
至于进程和线程的mutex锁在我前篇文章就有http://blog.csdn.net/jason_zjj/article/details/54731334
另外附上linux中mmap的共享内存用法http://blog.csdn.net/angelbosj/article/details/8272887
经过github的test_lock文件里的四个程序测试,
得到了一些结论:
对于线程的mutex锁,效率比线程的读写锁(rwlock)要高,但是没有读写锁实用性强,因为读写锁可以有共享读锁。
对于进程的mutex锁,效率比文件读写锁的效率要高的非常多,文件锁效率虽然非常慢,但是比较安全,在一个进程挂掉之后,如果它获取了mutex锁。则其他进程会阻塞,但是如果用了文件锁,则会自动释放该锁。
然后线程的mutex是比进程的mutex效率高的。。毕竟线程比较轻量级。
前篇文章对线程和进程的mutex锁的使用已经分析的比较详细。
对于文件锁的话,其实也叫记录锁,可以对文件的部分字节范围的数据进行上锁。这样就可以实现用一个文件,供给多个进程同时上锁(不同位置的锁)。
http://blog.chinaunix.net/uid-27177626-id-3791049.html
线程的读写锁学习:http://blog.csdn.net/callinglove/article/details/46646369
至于进程和线程的mutex锁在我前篇文章就有http://blog.csdn.net/jason_zjj/article/details/54731334
另外附上linux中mmap的共享内存用法http://blog.csdn.net/angelbosj/article/details/8272887
经过github的test_lock文件里的四个程序测试,
得到了一些结论:
对于线程的mutex锁,效率比线程的读写锁(rwlock)要高,但是没有读写锁实用性强,因为读写锁可以有共享读锁。
对于进程的mutex锁,效率比文件读写锁的效率要高的非常多,文件锁效率虽然非常慢,但是比较安全,在一个进程挂掉之后,如果它获取了mutex锁。则其他进程会阻塞,但是如果用了文件锁,则会自动释放该锁。
然后线程的mutex是比进程的mutex效率高的。。毕竟线程比较轻量级。
前篇文章对线程和进程的mutex锁的使用已经分析的比较详细。
对于文件锁的话,其实也叫记录锁,可以对文件的部分字节范围的数据进行上锁。这样就可以实现用一个文件,供给多个进程同时上锁(不同位置的锁)。
相关文章推荐
- 进程与线程的各种锁分析总结
- (转)iOS 各种网络编程总结--进程、线程、Socket、HTTP、TCP/IP、TCP和UDP
- Android虚拟机学习总结Dalvik虚拟机进程和线程的创建过程分析
- iOS 各种网络编程总结--进程、线程、Socket、HTTP、TCP/IP、TCP和UDP
- Android虚拟机器学习总结Dalvik虚拟机创建进程和线程分析
- iOS 各种网络编程总结--进程、线程、Socket、HTTP、TCP/IP、TCP和UDP
- 进程线程通信方法总结
- Chrome源代码分析之进程和线程模型(三)
- 各种进程创建方式比较总结(MacOS, Win32
- 配置tomcat5.5 jndi 各种配置方式 分析总结(mysql)
- Unix/linux进程及线程间同步技术总结【学习总结,请勿吐槽。。。】
- 进程线程及堆栈关系的总结
- Linux内核分析之进程总结
- C#线程进程总结(线程调用带参数的方法)
- 黑马程序员—进程与线程日志总结
- 进程及线程通信总结
- 对程序,进程,线程进行比较(总结)
- tomcat5_5 jndi各种配置方式分析总结(mysql)
- 各种排序算法分析总结
- Linux内核分析之进程总结