社区
C#
帖子详情
请问Mutex能实现跨进程锁吗?
niss
2015-08-06 05:19:49
现在我有两个程序要同时访问Access数据库,发现偶尔出现数据库已打开这种错误,应该是两个进程同时访问Access造成的(一个读,另一个是读写),现在必须要在两个程序中加锁,普通的lock只对同一进程的多个线程有效,无法对两个进程进行加锁,请问各位有什么办法?
...全文
454
4
打赏
收藏
请问Mutex能实现跨进程锁吗?
现在我有两个程序要同时访问Access数据库,发现偶尔出现数据库已打开这种错误,应该是两个进程同时访问Access造成的(一个读,另一个是读写),现在必须要在两个程序中加锁,普通的lock只对同一进程的多个线程有效,无法对两个进程进行加锁,请问各位有什么办法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
niss
2015-08-07
打赏
举报
回复
自己解决了,写了个跨进程锁,确保同一时间只有一个线程能读写数据库
以专业开发人员为伍
2015-08-06
打赏
举报
回复
关于如何多用户使用 Jet 引擎访问 mdb 数据库文件,你自己搜一下。这种15年前就已经被微软公布文档宣布用Sql Server Comapct 替代了的东西,现在不值得特别介绍了。如果你还是喜欢这种东西,应该自己找15年前的资料,特别是vb6下的资料,你会看到要多用户、甚至多计算机共享访问 mdb 文件,应该保证存有 mdb 文件的磁盘驱动支持特性。 Jet 数据库的问题,在于它实在是太脆弱。当有一个应用程序进程奔溃的时候,无一例外地,mdb 文件就被破坏了。这时候如果你停止所有的业务运营,然后使用 Access 程序或者Jet for vb 的驱动去修复mdb 文件,总是会丢失最近的10几条数据才可能让文件能用。特别地,当你在局域网内有多台计算机去远程共享磁盘方式去访问 mdb 文件时,并且假设这些计算机跟保存 mdb 文件的计算机之间的网络并不是很好时,这种事件发生的几率会很高。
以专业开发人员为伍
2015-08-06
打赏
举报
回复
Jet引擎本来就支持多用户共享(share)mdb文件、并且支持
事务
的使用,这跟什么 Mutex没有半点关系。
ganguozai
2015-08-06
打赏
举报
回复
在MSDN上把案例调试一遍试试看!
.net 线程详解 基础篇
基础篇 * 怎样创建一个线程 * 受托管的线程与 Windows线程 * 前台线程与后台线程 * 名为BeginXXX和EndXXX的方法是做什么用的 * 异步和多线程有什么关联 WinForm多线程编程篇 * 我的多线程WinForm程序老是抛出InvalidOperationException ,怎么解决? * Invoke,BeginInvoke干什么用的,内部是怎么
实现
的 * 每个线程都有消息队列吗? * 为什么Winform不允许
跨
线程修改UI线程控件的值 * 有没有什么办法可以简化WinForm多线程的开发 线程池 * 线程池的作用是什么? * 所有
进程
使用一个共享的线程池,还是每个
进程
使用独立的线程池? * 为什么不要手动线程池设置最大值? * .Net线程池有什么不足? 同步 * CLR怎样
实现
lock(obj)
锁
定? * WaitHandle是什么,他和他的派生类怎么使用 * 什么是用双
锁
实现
Singleton,为什么要这样做,为什么有人说双
锁
检验是不安全的 * 互斥对象(
Mutex
)、事件(Event)对象与lock语句的比较 什么时候需要
锁
定 * 只有共享资源才需要
锁
定 * 把
锁
定交给数据库 * 了解你的程序是怎么运行的 * 业务逻辑对事务和线程安全的要求 * 计算一下冲突的可能性 * 请多使用lock,少用
Mutex
Web和IIS * 应用程序池,WebApplication,和线程池之间有什么关系 * Web页面怎么调用异步WebService
optee系统开发精讲
optee os中的线程调度 CA/TA的开发模型 optee os中的service optee os中的 PTA optee os中的 secure driver optee os中的 Early TA optee中spinlock的
实现
原理详解 optee中
mutex
的
实现
方式 optee的栈指针和栈内存的...
.Net 多线程详解
.doc 格式 详细解析多线程技术 基础篇 • 怎样创建一个线程 • 受托管的线程与 Windows线程 • 前台线程与后台线程 • 名为BeginXXX和EndXXX的方法是做什么用的 • 异步和多线程有什么关联 WinForm多线程编程篇 • 我的多线程WinForm程序老是抛出InvalidOperationException ,怎么解决? • Invoke,BeginInvoke干什么用的,内部是怎么
实现
的 • 每个线程都有消息队列吗? • 为什么Winform不允许
跨
线程修改UI线程控件的值 • 有没有什么办法可以简化WinForm多线程的开发 线程池 • 线程池的作用是什么? • 所有
进程
使用一个共享的线程池,还是每个
进程
使用独立的线程池? • 为什么不要手动线程池设置最大值? • .Net线程池有什么不足? 同步 • CLR怎样
实现
lock(obj)
锁
定? • WaitHandle是什么,他和他的派生类怎么使用 • 什么是用双
锁
实现
Singleton,为什么要这样做,为什么有人说双
锁
检验是不安全的 • 互斥对象(
Mutex
)、事件(Event)对象与lock语句的比较 什么时候需要
锁
定 • 只有共享资源才需要
锁
定 • 把
锁
定交给数据库 • 了解你的程序是怎么运行的 • 业务逻辑对事务和线程安全的要求 • 计算一下冲突的可能性 • 请多使用lock,少用
Mutex
C# 唯一
进程
启动
Mutex
在
跨
进程
中怎么使用?
在系统中如何
实现
一个程序只运行一个
进程
,
实现
的方法如下: bool createNew;
Mutex
mt = new
Mutex
(true, “Application
Mutex
”, out createNew); 使用
Mutex
就可以
实现
c#
Mutex
的用法总结_上位机软件的博客-CSDN博客_c#
mutex
1、
Mutex
在线程中的使用;2、
Mutex
在
进程
中的使用;https://blog.csdn.net/qq_34059233/article/details/1060437441)防止
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章