您的位置:首页 > 其它

关于多个线程读写文件

2009-12-07 20:19 274 查看
在.net 3.5中增加了一个System.Threading.ReaderWriterLockSlim类,表示用于管理资源访问的锁定状态,可实现多线程读取或进行独占式的写入访问。

代码 private static System.Threading.ReaderWriterLockSlim _readWriterLock = new System.Threading.ReaderWriterLockSlim();
public static void WriteLineLog(string message)
{
_readWriterLock.EnterWriteLock();
try
{
using (StreamWriter sw = new StreamWriter(_logPath, true))
{

string prefix = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " : ";

sw.WriteLine(prefix + message);

sw.Flush();
sw.Close();
}
}
finally
{
_readWriterLock.ExitWriteLock();
}
}

如上面使用它时,要小心死锁,建议用超时方法。 _readWriterLock.TryEnterWriteLock(30);如果超时,则退出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: