代码改变世界

随笔档案-2011年9月19日

由StreamWriter.WriteLine 引发对C#多线程的深入思考(一)

2011-09-19 14:09 by Shawn.Cheng, 3275 阅读, 收藏,
摘要: 首先,StreamWriter线程安全么?答:StreamWriter 的构造以及StreamWriter.WriteLine(string)都是非线程安全的我们封装两个写日志的方法。底层都是由StreamWriter.writeline来实现.一个加锁,一个不加锁。将加锁的那个命名为safewritelog,另一个命名为unsafeWritelog.然后利用两个循环。不停的分别创建个线程,去写日志。测试看哪个会出现写异常。代码如下:namespace ThreadWriteLog{ class Program { private static object ob =... 阅读全文