关于用FileStream的异步写的方法多线程写日志的问题。 是否能保证写入的顺序?

zengjd 2012-03-15 10:57:12
项目中需要用到多线程写日志。
我想用FileStream的异步写的方法。
在回调方法中用Lock同步,
这样调用端可以马上返回,不用等到写完再返回。

这样是否能保证写入的先后顺序?

请问这样还会有什么问题么?
...全文
365 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zengjd 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xnlm2005 的回复:]

先声明一个静态类,里面两个成员字段,一个是锁对象,一个是序号,然后锁定操作序号。
[/Quote]

不懂,具体说说!
xnlm2005 2012-03-15
  • 打赏
  • 举报
回复
先声明一个静态类,里面两个成员字段,一个是锁对象,一个是序号,然后锁定操作序号。
zengjd 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 abbey 的回复:]

文件的特性决定了它是一种独享的资源,所以我想可以把所有写入的请求放入一个请求队列,由另一个线程去完成日志的写入工作。
[/Quote]

你的这种想法我也想过:
先把日志内容写入一个队列中 ,然后有一个线程监视队列内容,发现队列中有内容就写入文件

这样做可以么?
老毕 2012-03-15
  • 打赏
  • 举报
回复
文件的特性决定了它是一种独享的资源,所以我想可以把所有写入的请求放入一个请求队列,由另一个线程去完成日志的写入工作。
zengjd 2012-03-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 csrwgs 的回复:]

日志放到数据库里行不行?
[/Quote]

不行。必须是文本文件
csrwgs 2012-03-15
  • 打赏
  • 举报
回复
日志放到数据库里行不行?

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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