社区
C++ 语言
帖子详情
关于共享和互斥
52huier
2004-08-27 04:55:35
今天我想了想共享和互斥,越想越乱,转不出来了。
到底什么时候必须实现互斥?难道使用任何公共资源都要互斥使用?比如我打开一个文件?
还有,我两个程序同时操作数据库里的一个表呢?这时候数据库是否提供一些互斥的支持呢?
那位牛人启发我一下????
...全文
199
8
打赏
收藏
关于共享和互斥
今天我想了想共享和互斥,越想越乱,转不出来了。 到底什么时候必须实现互斥?难道使用任何公共资源都要互斥使用?比如我打开一个文件? 还有,我两个程序同时操作数据库里的一个表呢?这时候数据库是否提供一些互斥的支持呢? 那位牛人启发我一下????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
产品老唐
2004-08-27
打赏
举报
回复
SQL提供共享锁和互斥锁,可以利用
52huier
2004-08-27
打赏
举报
回复
不知道你所指的“现实”是啥意思哦。你编过很多多进程或者多线程的程序吗?
许多时候,你用了锁,但你自己未必知道,比如你调用一个系统API,那里边很可能就有锁操作。
哦,我没编过多少多线程的程序,这不刚接触就有问题了嘛,嘿嘿,那多个程序同时运行也应该算多进程吧?我就是指这种情况。
我就是搞不清,这种互斥哪些是系统已经实现了,哪些要自己实现。。。。。
52huier
2004-08-27
打赏
举报
回复
可是不能保证别的程序中间修改呀——那就不是只读资源。ROM/BIOS可以被看成只读资源。
那不就是说我平时写一个文件都要加个锁,防止别人的程序不知道我在写。我平时也没见人这么写呀。。。。
晨星
2004-08-27
打赏
举报
回复
“可现实中我没见到这么多使用锁的例子呀。”
不知道你所指的“现实”是啥意思哦。你编过很多多进程或者多线程的程序吗?
许多时候,你用了锁,但你自己未必知道,比如你调用一个系统API,那里边很可能就有锁操作。
晨星
2004-08-27
打赏
举报
回复
可是不能保证别的程序中间修改呀——那就不是只读资源。ROM/BIOS可以被看成只读资源。
数据库的支持是怎样的?
通常是透明等待,等另外一个任务完成了再进行。
sandrowjw
2004-08-27
打赏
举报
回复
数据库的支持是怎样的?如果操作的表被加锁,程序是“透明“地等待呢,还是返回错误呢???
------------------------------------------------------------------------------
会等到饿死
虽然是只读,可是不能保证别的程序中间修改呀,也许后者应该加锁,可现实中我没见到这么多使用锁的例子呀。。。
-----------------------------
因为确定不能修改了才会不加锁
52huier
2004-08-27
打赏
举报
回复
首先,谢谢楼上的
不过还有点问题。。。。
不一定,比如只读资源。
虽然是只读,可是不能保证别的程序中间修改呀,也许后者应该加锁,可现实中我没见到这么多使用锁的例子呀。。。
数据库的支持是怎样的?如果操作的表被加锁,程序是“透明“地等待呢,还是返回错误呢???
晨星
2004-08-27
打赏
举报
回复
难道使用任何公共资源都要互斥使用?
不一定,比如只读资源。
比如我打开一个文件?
就看应用程序本身的意图了。
这时候数据库是否提供一些互斥的支持呢?
当然会,否则两个进程同时改,很可能就改乱套了。
到底什么时候必须实现互斥?
说简单点,只要不互斥可能造成混乱甚至灾难的场合都需要互斥。
java的
互斥
锁和
共享
锁
互斥
锁相关视频讲解:golang context 并发编程实战考题——实现带有过期功能的单机锁golang context 并发编程实战考题——实现带有过期功能的单机锁-第二讲实现Java的
互斥
锁和
共享
锁 一、流程图 Java的锁实现流程#render_6_3377340047-svg{font-family:"tre...
Linux下POSIX
共享
内存和POSIX
互斥
锁的使用
int shm_fd;void *ptr;// 初始化
共享
内存和
互斥
锁// 创建或打开
共享
内存对象// 设置
共享
内存的大小// 映射
共享
内存到进程地址空间// 初始化
互斥
锁= 0) {// 清理资源。
C++-多线程数据
共享
问题和
互斥
锁
文章目录线程数据
共享
问题不变式与竞争条件避免竞争条件
互斥
锁 线程数据
共享
问题 多线程的优势之一就是线程之间可以
共享
数据,但我们需要一套规则规定哪个线程可以访问哪部分数据,什么时候可以访问,以及怎么通知其他关心该数据的线程已经更新了数据,如果不能处理好数据
共享
的问题,多线程的这个优势也会变为劣势。 线程间
共享
数据的所有问题都是因为对数据的修改,一个只读的数据不会造成任何问题。 不变式与竞争条件 这里要提到一个概念:不变式(invariant),意思是关于特定数据结构的陈述始终正确。例如:“x变量保存着列表中元
Linux下进程间通信 之
共享
内存同步方法(
互斥
锁,信号量 和 信号)
先说结论:使用的还是,“
互斥
锁”,“信号量” 和 “信号” 进行同步。 ========================================================================= 以下为转载部分:linux实现
共享
内存同步的四种方法_sunxiaopengsun的专栏-CSDN博客_
共享
内存同步机制 ——————————————————————————————————————————— 同步(synchronization)指的是多个任务(线程...
linux 进程间通信之pthread(条件变量
共享
和
互斥
锁
共享
)
2、PTHREAD_PROCESS_SHARED, (2)这个属性可以使
互斥
量在多个进程中进行同步,如果
互斥
量在多进程的
共享
内存区域,那么具有这个属性的
互斥
量可以同步多进程.1、PTHREAD_PROCESS_PRIVATE,这个是默认值(1),同一个进程中的多个线程访问同一个同步对象.b,设置和获取条件变量
共享
属性。初始化和销毁mutex
互斥
锁。a,设置
互斥
量进程
共享
属性。b,获取
互斥
量进程
共享
属性。a,process.h头文件。a,条件变量属性初始化。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章