对写文本日志进行同步,防止并发操作IO异常
2008-10-15 16:06
204 查看
static object obj = new object();
static void log(string message)
{
lock (obj)
{
using (FileStream fsError = new FileStream("C:\\testlog.txt", FileMode.Append, FileAccess.Write, FileShare.Write))
{
using (StreamWriter swError = new StreamWriter(fsError, Encoding.Default))
{
swError.WriteLine(message);
}
}
Monitor.PulseAll(obj);
Monitor.Wait(obj);
}
}
static void log(string message)
{
lock (obj)
{
using (FileStream fsError = new FileStream("C:\\testlog.txt", FileMode.Append, FileAccess.Write, FileShare.Write))
{
using (StreamWriter swError = new StreamWriter(fsError, Encoding.Default))
{
swError.WriteLine(message);
}
}
Monitor.PulseAll(obj);
Monitor.Wait(obj);
}
}
相关文章推荐
- 巧用SQL的with语法生成临时结果集,进行查询与更新同步操作,解决高并发下对数据的重复访问
- java 根据value进行并发同步操作
- 黑马程序员——7.1.IO(其他对象API(System类、Runtime类、Math类、Date类)字节流与字符流、IO异常处理、缓冲区、键盘录入、转换流、异常日志、流的操作总结)
- Java基础——IO(拷贝文件+字节流-字符流缓冲区(装饰设计)-转换流-IO操作规律-异常日志-系统信息列表输出)
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- 多线程中未对集合进行同步操作引发空引用异常
- 多线程操作数据库时为了防止数据的增删改的混乱该在数据库层还是程序层面上进行同步?
- C++ IO操作API及注意事项(包含一个日志类的实现)
- IO文本操作
- 使用Q进行同步的Promises操作
- JAVA多线程中,原子操作的概念——原子操作真的不需要进行同步控制吗?
- java开发中使用Log4j进行日志操作
- 使用Log4J进行简单日志操作
- 使用Log4j进行日志操作
- 87、java的IO操作-复制文本
- MYSQL异常处理日志:主从库同步延迟时间过长的分析
- 如何在同步过程中将数据库日志线性交易转化为并发载入
- JSP 页面保存或者提交数据时,弹出浮层防止用户在保存过程中进行其他操作
- 9.7Python文件操作(7):使用pickle进行二进制IO
- javaEE开发中使用session同步和token机制来防止并发重复提交