900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > php 多线程写入文件 C#_C#实现多线程写入同一个文件的方法 本文实例讲述了C#实现多

php 多线程写入文件 C#_C#实现多线程写入同一个文件的方法 本文实例讲述了C#实现多

时间:2021-05-09 06:27:41

相关推荐

php 多线程写入文件 C#_C#实现多线程写入同一个文件的方法 本文实例讲述了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)

{

lock (obj)

{

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.StreamWriter sw = new System.IO.StreamWriter(fileStream, Encoding.Default);

sw.Write(sb.ToString());

sw.Close();

sw.Dispose();

fileStream.Close();

fileStream.Dispose();

}

}

}

}

希望本文所述对大家的C#程序设计有所帮助。相关阅读:

Win7系统打开英雄联盟提示"LOL进程Client.exe正在运行请手动关闭"的解决方法

基于Sql Server通用分页存储过程的解决方法

CSS制作框架 Sass 3.4.4 今日发布

PHP借助phpmailer发送邮件

MAC中快速安装卸载大型软件的技巧

C#实现软件监控外部程序运行状态的方法

《解剖PetShop》之六:PetShop之表示层设计

php查询mysql数据库并将结果保存到数组的方法

C语言中结构体偏移及结构体成员变量访问方式的问题讨论

最新Win10 10130预览版支持同时运行Modern App多个实例

Android简单实现自定义流式布局的方法

Win8.1如何删除美式键盘?Win8.1系统删除美式键盘的方法

浅析php创建者模式

JavaScript实现简单的tab选项卡切换

php 多线程写入文件 C#_C#实现多线程写入同一个文件的方法 本文实例讲述了C#实现多线程 - phpStudy...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。