免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 14944 | 回复: 10
打印 上一主题 下一主题

共享内存怎样来进行加锁?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-16 10:23 |只看该作者 |倒序浏览
我们可以通过信号灯来对一段临界区代码进行互斥
但是如果一个程序中必须要在多个地方(不在同一段代码中)对同一段共享内存进行访问和更新,这样就不可能用信号灯来实现
在多进程的环境下我怎样来实现对这样一段共享内存的封锁呢

论坛徽章:
0
2 [报告]
发表于 2005-08-16 10:52 |只看该作者

共享内存怎样来进行加锁??

还希望大家能够讨论一下

论坛徽章:
0
3 [报告]
发表于 2005-08-16 11:57 |只看该作者

共享内存怎样来进行加锁??

原帖由 "fxhnkf" 发表:
我们可以通过信号灯来对一段临界区代码进行互斥
但是如果一个程序中必须要在多个地方(不在同一段代码中)对同一段共享内存进行访问和更新,这样就不可能用信号灯来实现
在多进程的环境下我怎样来实现对这样一段共享内存的封锁呢


加锁->;修改->;解锁,这是一个连贯的过程。是否是在同一个进程内与此问题无关。要避免一个进程无谓地占用资源时间过长的情况出现。

论坛徽章:
0
4 [报告]
发表于 2005-08-16 17:55 |只看该作者

共享内存怎样来进行加锁??

为什么“不可能用信号灯来实现 “呢?
用有名信号灯就可以啊,只要信号灯位于共享内存中,多个进程都可以访问,更不要说多个代码段了。

论坛徽章:
0
5 [报告]
发表于 2005-08-22 11:22 |只看该作者

共享内存怎样来进行加锁??

是呀, 楼上说的对,用”有名信号灯“来实比较好。
我的程序就是用'有名信号灯”来实现  '进程间共享内存'的互斥的。很好用的啦

论坛徽章:
0
6 [报告]
发表于 2005-08-22 12:00 |只看该作者

共享内存怎样来进行加锁??

用信号灯

论坛徽章:
0
7 [报告]
发表于 2005-08-22 12:45 |只看该作者

共享内存怎样来进行加锁??

给段代码看看可以吗?

论坛徽章:
0
8 [报告]
发表于 2006-04-11 09:02 |只看该作者
我也遇到同样的问题!
需要一个进程对共享内存定期更新
另外有多个进程对共享内存进行读操作
应该怎么办啊??

论坛徽章:
0
9 [报告]
发表于 2006-04-11 09:12 |只看该作者
用信号量互斥

论坛徽章:
0
10 [报告]
发表于 2006-04-11 09:14 |只看该作者
大哥您能不能说的详细些,我是菜鸟啊
最好能给段代码,谢谢谢谢,急着用啊~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP