打印

程序合并问题

[复制链接]
869|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
baidudz|  楼主 | 2013-7-28 18:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
描述一下我的两个程序:

一个是writedb.exe是把一个网站上面的数据写到数据库中的
我在处理的时候,是有这么一个tmp.db的,writedb.exe是隔5分钟才执行一次,但是他每次重新执行的时候,都会删掉tmp.db,重新获取网页的数据,在写到tmp.db中



一个search.exe是检索数据库中的数据,从tmp.db中检索



问题来了:我想要把这两个程序,合并到一个test.exe中,似乎是用多线程,也会出现很大的问题,比如刚好writedb.exe的逻辑正在执行,把tmp.db删掉了,当前没有tmp.db,导致search.exe会失败;而且我觉得间隔5分钟,这样的事件发生的概率会很大!


问一个各位!这个要怎么处理一下?才能合并到一起?

相关帖子

沙发
pkat| | 2013-7-28 18:51 | 只看该作者
在检索程序中以读写方式打开文件,不要以只读方式打开文件。这样做时,可以在tmp文件在被读写时无法被删除,这时候设一个小技巧循环一下就可以解决这个问题了。

使用特权

评论回复
板凳
gxgclg| | 2013-7-28 19:11 | 只看该作者
要完成楼主的想法,必须在原来的exe添加相应的同步代码,不改动原来的exe做不到。
或者原先的exe本来就具有同步的接口。

使用特权

评论回复
地板
火箭球迷| | 2013-7-28 19:15 | 只看该作者
写个包装exe,里面调用这2个exe.用Createprocess

使用特权

评论回复
5
yybj| | 2013-7-29 15:45 | 只看该作者
pkat 发表于 2013-7-28 18:51
在检索程序中以读写方式打开文件,不要以只读方式打开文件。这样做时,可以在tmp文件在被读写时无法被删除 ...

可以试试这个方法,应该可行

使用特权

评论回复
6
sinadz| | 2013-7-29 15:55 | 只看该作者
需要在原来的exe添加相应的同步代码

使用特权

评论回复
7
shenmu2012| | 2013-7-30 21:41 | 只看该作者
我也没整过这个的,跟大家学习的了

使用特权

评论回复
8
opal11| | 2013-8-19 00:26 | 只看该作者
路过,学习。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

239

主题

2284

帖子

0

粉丝