• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#实现多线程写入同一个文件的方法

C#实现多线程写入同一个文件的方法

作者:我心依旧 字体:[增加 减小] 来源:互联网 时间:2017-05-28

我心依旧 通过本文主要向大家介绍了马桶c的个人空间,c语言,欲情 c max,维生素c,奔驰c200等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了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();
   }
  }
 }
}

</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#利用ReportViewer生成报表
  • C#基于正则去掉注释的方法示例
  • C#中new的用法及与override的区别分析
  • C#实现两个richtextbox控件滚动条同步滚动的简单方法
  • C# for循环的经典案例集锦
  • C#操作word的方法示例
  • C#使用WebClient登录网站并抓取登录后的网页信息实现方法
  • C# WinForm制作异形窗体与控件的方法
  • C#实现Excel表数据导入Sql Server数据库中的方法
  • C#使用NPOI上传excel

相关文章

  • 2017-05-28c# 实现子窗口关闭父窗口也关闭的方法
  • 2017-05-28c#并行编程示例分享
  • 2017-05-28c#与mysql的连接
  • 2017-05-28C#中如何执行存储过程方法
  • 2017-05-28c#网络唤醒功能实现
  • 2017-05-28C#实现获取文本文件的编码的一个类(区分GB2312和UTF8)
  • 2017-05-28读写XML文件的内容并将其显示在ListView控件上的方法
  • 2017-05-28C#使用正则表达式抓取网站信息示例
  • 2017-05-28C#学习笔记整理_变量等基础语法(必看篇)
  • 2017-05-28C#实现窗体与子线程的交互的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#枚举类型和结构体详解
    • C#基础之泛型委托实例教程
    • C#将布尔类型转换成字节数组的方法
    • C#中4种深拷贝方法介绍
    • C#实现PDF文件添加图片背景
    • C#编程实现取整和取余的方法
    • C#中使用JSON.NET实现JSON、XML相互转换
    • Log4Net 日志配置[附带源码下载]
    • js事件模型与自定义事件实例解析
    • c#中的interface abstract与virtual介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有