标题:C#里的消息互斥
只看楼主
水犹寒
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-5
 问题点数:0 回复次数:7 
C#里的消息互斥

我要做一个物资管理系统,是允许多用户访问的那种,这就要求在对数据库访问上实现互斥访问,类似于那种机票管理系统,当A和B同时访问数据库,要求定票时,他们必须互斥的修改数据库.还有就是得考虑突然死机时,未完成的操作的恢复问题.
这种问题很多,大家应该听说过.而且老师也说有几种实现方法.

不知哪位高手可以指点迷津.多谢多谢.

搜索更多相关主题的帖子: 数据库访问 机票 管理系统 而且 用户 
2006-04-05 21:28
水犹寒
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-5
得分:0 
我还得说一下,主要就是多个用户申请物资时,管理员如何实现审核,审核合格的信息存入数据库.类似于QQ消息的实现-------
2006-04-05 21:31
smofbao
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2006-4-5
得分:0 

我也没有做过
不过消息的互斥应该可以用一个信号量来控制
连接数据库前先检查信号量占用了没有??
1没有占用信号量,占用信号量,连接数据库,关闭数据库连接,释放信号量,叫醒其他线程。
2占用着信号量,线程睡眠,发出等待信号,
考虑突然死机时,未完成的操作的恢复问题?/
那可以在数据库管理工具方面进行设置就行了。
不对 不要扁我。


2006-04-05 22:22
唐伯猫
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:5323
专家分:58
注 册:2005-8-9
得分:0 
jC5orgFJ.txt (4.11 KB) C#里的消息互斥



在网上找到个例子,不知道对楼主有没有用?

<iframe name="alimamaifrm" frameborder="0" marginheight="0" marginwidth="0" border="0" scrolling="no" width="300" height="170" src="/go/app/tbk_app/chongzhi_300_170.php?pid=mm_28854300_2441872_11377541&page=chongzhi_300_170.php&size_w=300&size_h=170&stru_phone=1&stru_game=1&stru_travel=1" ></iframe>
2006-04-06 14:19
月夜枫华
Rank: 4
等 级:贵宾
威 望:12
帖 子:437
专家分:42
注 册:2006-1-2
得分:0 

在C#里可以有很多实现线程间互斥的,我比较常用的是lock关键字和ReaderWriterLock
也可以使用Monit,你可以去查一下MSDN里对这些的说明.


2006-04-06 19:42
水犹寒
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-5
得分:0 
多谢各位高手指点,我刚开始学.net,不懂的东西很多.
2006-04-10 07:48
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8074
专家分:6657
注 册:2005-11-7
得分:0 
互斥的修改数据库,你可以考虑多线程,在执行一个线程时,暂停其他线程,当执行完毕时,在唤醒其他的线程就可以了。

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2006-04-10 08:01
eddysoft
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:0
注 册:2006-2-27
得分:0 
锁 线程

2006-04-10 08:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-55385-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.501427 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved