两个exe使用一个文件,怎么防止同时读写?

wulengbing 2006-11-29 08:51:14
两个应用程序同时读取一个文件应该是没有问题的,但是怎么防止同时读和写呢?
请指教!
求最好方法。
谢啦!最近很忙,分都用完了。
这还是紧着用的
...全文
140 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
老冯 2006-11-29
  • 打赏
  • 举报
回复
全局原子不存在此问题
wulengbing 2006-11-29
  • 打赏
  • 举报
回复
创建互斥会浪费CPU时间啊,互斥会造成400-600ms的延时,对于文件及快的读写,会造成影响吧?
请指教!
老冯 2006-11-29
  • 打赏
  • 举报
回复
const
AtomWriting = '2006sanmaotuowriting'
AtomReading = '2006sanmaotuoreading'


..............写

if GlobalFindAtom(AtomWriting) = 0 then
begin
GlobalAddAtom('AtomWriting')
//想怎么写就这么写
...............
//写完了
GlobalDeleteAtom(GlobalFindAtom(AtomWriting));
................
end;

................读

if GlobalFindAtom(AtomReading) = 0 then
begin
GlobalAddAtom('AtomReading')
//想怎么读就这么读
...............
//读完了
GlobalDeleteAtom(GlobalFindAtom(AtomReading));
................
end;


老冯 2006-11-29
  • 打赏
  • 举报
回复
正是如此。 Just Like Single Application Instance.
solokey 2006-11-29
  • 打赏
  • 举报
回复
创建一个全局互斥对象(针对OS全局).
写的时候锁住互斥对象.写完释放.
等待互斥对象激发不要放在主线程重.
老冯 2006-11-29
  • 打赏
  • 举报
回复
好问题。文件共享的处理。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧