首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

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

2012-09-07 
关于用FileStream的异步写的方法多线程写日志的问题。 是否能保证写入的顺序?项目中需要用到多线程写日志。

关于用FileStream的异步写的方法多线程写日志的问题。 是否能保证写入的顺序?
项目中需要用到多线程写日志。
我想用FileStream的异步写的方法。
在回调方法中用Lock同步,
这样调用端可以马上返回,不用等到写完再返回。

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

请问这样还会有什么问题么?

[解决办法]
写入顺序是不能保证的,因为先入顺序取决于线程获得file lock的次序,这个是不确定的。不过一般来说写操作不会有大的并发,而且一般写日志能够在短时间能完成。比如一个写操作要10秒中,在10秒里先后有3个线程访问。10秒内都是阻塞的。但是之后谁先获取锁是不确定的。不过一般写操作很快的,顺序问题可以忽略的。

热点排行