CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Windows专区 >  Windows NT/2000/XP/2003

请问如何使多个进程同时异步写一个log文件

楼主VenusC(清茶)2006-06-01 16:40:53 在 Windows专区 / Windows NT/2000/XP/2003 提问

现有一应用系统包含多个exe,需要将log记录写入同一个log文件中,为了提高效率,希望使用异步方式,即专门有一个进程或线程来进行写操作,请教该如何实现?  
   
  问题点数:40、回复次数:5Top

1 楼icuc88(职业特种兵)回复于 2006-06-01 20:01:25 得分 10

需要加锁和解锁,  
   
  同时你还需要考虑冲突了应该怎么解决,不要被死锁。Top

2 楼VenusC(清茶)回复于 2006-06-01 23:54:23 得分 0

加锁解锁是必然要的,问题在于异步写的时候,存放待写信息的队列如何放,放在各个exe里,要加上比较复杂的控制,来保证exe之间信息的顺序;放在一个进程里,通讯方式该如何设置,不希望用socket这样的机制,太慢而且耗费资源。Top

3 楼icuc88(职业特种兵)回复于 2006-06-02 00:06:18 得分 15

用MSMQ嘛,这样就可以按照队列来处理了。Top

4 楼VenusC(清茶)回复于 2006-06-02 09:42:31 得分 0

使用MSMQ还需要安装Windows消息队列组件,Windows的默认安装中是没有该组件的。使用MSMQ不利于应用系统的推广。还有没有其它简单的方法?Top

5 楼iamchenxin(小陈00)回复于 2006-06-04 14:16:50 得分 15

还是找一个写专门log的进程做代理吧.直观而且不会对原进程的结构有任何影响.Top

相关问题

关键词

得分解答快速导航

  • 帖主:VenusC
  • icuc88
  • icuc88
  • iamchenxin

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo