锁是什么?

[复制链接]
查看11 | 回复8 | 2021-1-27 05:48:41 | 显示全部楼层 |阅读模式
锁是什么呀?
看了一些文章,好像多线程读写经常用到锁
那么锁到底是什么?
C++有没有一些标准锁?(C++库定义的)
锁的机制又是什么呢(原理是什么)?
PS:可以发一些吧文章让我参考一下
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:48:41 | 显示全部楼层
1.c++标准库有锁,位于头文件mutex中。
2.打个比方,你上厕所怕不怕别人突然冲进来?大部分人都怕,所以公共卫生间一般都会有锁,计算机中的锁也是这样,正因为有了锁,才使得一些操作可以独占一部分资源
回复

使用道具 举报

千问 | 2021-1-27 05:48:41 | 显示全部楼层
可阅读
回复

使用道具 举报

千问 | 2021-1-27 05:48:41 | 显示全部楼层
可阅读1
可阅读2
回复

使用道具 举报

千问 | 2021-1-27 05:48:41 | 显示全部楼层
引用1楼Italink的回复:1.c++标准库有锁,位于头文件mutex中。
2.打个比方,你上厕所怕不怕别人突然冲进来?大部分人都怕,所以公共卫生间一般都会有锁,计算机中的锁也是这样,正因为有了锁,才使得一些操作可以独占一部分资源

谢谢您。但是您有什么比较好的文章吗?
回复

使用道具 举报

千问 | 2021-1-27 05:48:41 | 显示全部楼层
锁就是为了排他。本来系统资源是共享的,但是有些资源共享会发生冲突,于是就给资源上锁,上了锁的资源就只能由锁的主人单独享用,其他用户必须等待锁释放。
mutex头文件定义了一些标准锁
锁的种类及原理可以参考
https://zhuanlan.zhihu.com/p/53910908
https://www.zhihu.com/question/66733477

回复

使用道具 举报

千问 | 2021-1-27 05:48:41 | 显示全部楼层


主要用于多线程,多进程,访问修改公共资源。避免出错。
回复

使用道具 举报

千问 | 2021-1-27 05:48:41 | 显示全部楼层
引用5楼qybao的回复:锁就是为了排他。本来系统资源是共享的,但是有些资源共享会发生冲突,于是就给资源上锁,上了锁的资源就只能由锁的主人单独享用,其他用户必须等待锁释放。
mutex头文件定义了一些标准锁
锁的种类及原理可以参考
https://zhuanlan.zhihu.com/p/53910908
https://www.zhihu.com/question/66733477

谢谢大神
回复

使用道具 举报

千问 | 2021-1-27 05:48:41 | 显示全部楼层
引用5楼qybao的回复:锁就是为了排他。本来系统资源是共享的,但是有些资源共享会发生冲突,于是就给资源上锁,上了锁的资源就只能由锁的主人单独享用,其他用户必须等待锁释放。
mutex头文件定义了一些标准锁
锁的种类及原理可以参考
https://zhuanlan.zhihu.com/p/53910908
https://www.zhihu.com/question/66733477

谢谢!但是有没有C++11的?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行