社区
C++ 语言
帖子详情
关于共享和互斥
52huier
2004-08-27 04:55:35
今天我想了想共享和互斥,越想越乱,转不出来了。
到底什么时候必须实现互斥?难道使用任何公共资源都要互斥使用?比如我打开一个文件?
还有,我两个程序同时操作数据库里的一个表呢?这时候数据库是否提供一些互斥的支持呢?
那位牛人启发我一下????
...全文
160
8
打赏
收藏
关于共享和互斥
今天我想了想共享和互斥,越想越乱,转不出来了。 到底什么时候必须实现互斥?难道使用任何公共资源都要互斥使用?比如我打开一个文件? 还有,我两个程序同时操作数据库里的一个表呢?这时候数据库是否提供一些互斥的支持呢? 那位牛人启发我一下????
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
难道使用任何公共资源都要互斥使用?
不一定,比如只读资源。
比如我打开一个文件?
就看应用程序本身的意图了。
这时候数据库是否提供一些互斥的支持呢?
当然会,否则两个进程同时改,很可能就改乱套了。
到底什么时候必须实现互斥?
说简单点,只要不互斥可能造成混乱甚至灾难的场合都需要互斥。
互相独立进程间
共享
内存
互斥
访问的解决办法
前提:两个进程互相独立,访问同一片
共享
内存存在问题:1、如何避免两个进程同时访问
共享
内存(一旦两个进程同时访问一个临界区,后果是程序崩溃)2、如果使用
互斥
锁,如何让两个进程拿到同一个
互斥
锁解决办法:针对...
共享
内存 同步、
互斥
共享
内存没有提供
互斥
机制,需要程序员自己实现。1.对于多个进程
共享
的
共享
内存来说,惟一可靠的
互斥
机制 就是带SEM_UNDO的system V信号量。原因: 某一个进程在持有锁期间意外退出,所持有的锁还没有来得及释放,...
C语言实现应用 Peterson 算法原理设计实现
共享
内存
互斥
应用 Peterson 算法原理设计实现
共享
内存
互斥
。 1. 相关知识点:Peterson算法 简单介绍: Peterson算法是一种用于
互斥
的并发编程算法,该算法允许两个或多个进程
共享
一次使用的资源而不会发生冲突,仅使用
共享
内存...
共享
内存+
互斥
量实现 Linux 进程间通信
一、
共享
内存简介 ...
共享
内存并未提供进程同步机制,使用
共享
内存完成进程间通信时,需要借助
互斥
量或者信号量来完成进程的同步。这里说一下
互斥
量与信号量的区别。
互斥
量用于线程的
互斥
,信号量用...
Linux进程间
互斥
锁 (
共享
内存实现)
开辟一块
共享
内存,使得相关进程均可访问同一块区域,再将
互斥
锁定义在该区域(即
共享
内存)上,使得相关进程可以使用该锁。 02 进程间的
互斥
锁和线程间
互斥
锁的区别 函数pthread_mutex_init(
互斥
锁地址, 属性...
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章