易采站长站为您分析C#实现多线程写入同一个文件的方法,涉及C#多线程操作文件读写的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C#实现多线程写入同一个文件的方法。。具体实现方法如下:
- namespace WfpApp {
- public partial class Form2 : Form {
- object obj = new object(); public Form2()
- { InitializeComponent();
- System.Threading.Thread thread; string[] users = new string[] { "zkk", "admin", "administrator", "soft", "iany", "nec", "necsl" };
- for (int i = 0; i < users.Length; i++) {
- thread = new System.Threading.Thread(new System.Threading.ParameterizedThreadStart(WriteLock)); thread.Start(users[i]);
- } }
- public void WriteThread(object user) {
- string path = System.Windows.Forms.Application.StartupPath + "app"; if (!System.IO.Directory.Exists(path))
- System.IO.Directory.CreateDirectory(path); path = path + "" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
- StringBuilder sb = new StringBuilder(); sb.AppendLine("----------------------------" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff") + "--------------------------");
- sb.AppendLine(user.ToString()); sb.AppendLine("---------------------------------------------------------------------------------");
- sb.AppendLine(); //if (!System.IO.File.Exists(path))
- // System.IO.File.Create(path).Close(); System.IO.FileStream fileStream = new System.IO.FileStream(path, System.IO.FileMode.Append, System.IO.FileAccess.Write, System.IO.FileShare.ReadWrite);
- System.IO.StreamWriter sw = new System.IO.StreamWriter(fileStream, Encoding.Default); sw.Write(sb.ToString());
- sw.Close(); sw.Dispose();
- fileStream.Close(); fileStream.Dispose();
- } public void WriteLock(object user)










