php 多线程写入文件,C#_C#实现多线程写入同一个文件的方法,本文实例讲述了C#实现多线程 - phpStudy...
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...相关推荐
- itextsharp php,C#_C#使用iTextSharp设置PDF所有页面背景图功能实例,本文实例讲述了C#使用iTextSharp - phpStudy...
C#使用iTextSharp设置PDF所有页面背景图功能实例 本文实例讲述了C#使用iTextSharp设置PDF所有页面背景图功能的方法.分享给大家供大家参考.具体如下: 在生成PDF 的时候,虽然 ...
- 安卓查看php文件是否存在,Android_Android编程判断SD卡是否存在及使用容量查询实现方法,本文实例讲述了Android编程判断 - phpStudy...
Android编程判断SD卡是否存在及使用容量查询实现方法 本文实例讲述了Android编程判断SD卡是否存在及使用容量查询实现方法.分享给大家供大家参考,具体如下: 1.判断SD卡是否存在 返回tr ...
- php统计大写字母个数,C++_C++统计中英文大小写字母、数字、空格及其他字符个数的方法,本文实例讲述了C++统计中英文 - phpStudy...
C++统计中英文大小写字母.数字.空格及其他字符个数的方法 本文实例讲述了C++统计中英文大小写字母.数字.空格及其他字符个数的方法.分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * ...
- php 文件指定位置添加内容,C++_VC++在TXT文件指定位置追加内容的方法,本文实例讲述了VC++操作文本文 - phpStudy...
VC++在TXT文件指定位置追加内容的方法 本文实例讲述了VC++操作文本文件的方法,实现在txt文件指定位置插入内容.对于VC++爱好者有一定的学习参考价值. 主要功能代码如下: void CGoT ...
- php datatable导出excel,C#_C#实现将DataTable内容输出到Excel表格的方法,本文实例讲述了C#实现将DataTabl - phpStudy...
C#实现将DataTable内容输出到Excel表格的方法 本文实例讲述了C#实现将DataTable内容输出到Excel表格的方法.分享给大家供大家参考.具体如下: 1.关于本文 本文描述了一个函数 ...
- java sqlite 多线程并发_C#_C#解决SQlite并发异常问题的方法(使用读写锁),本文实例讲述了C#解决SQlite并 - phpStudy...
C#解决SQlite并发异常问题的方法(使用读写锁) 本文实例讲述了C#解决SQlite并发异常问题的方法.分享给大家供大家参考,具体如下: 使用C#访问sqlite时,常会遇到多线程并发导致SQLI ...
- 骰子算法 php,C++_C++实现N个骰子的点数算法,本文实例讲述了C++实现N个骰子 - phpStudy...
C++实现N个骰子的点数算法 本文实例讲述了C++实现N个骰子的点数算法,分享给大家供大家参考之用.具体方法如下: 题目要求:把n个骰子仍在地上,所有点数 实现代码如下: #include using ...
- 文件描述符(多进程对同一个文件操作)
进程文件描述符:filedescrption,实际上我们调用open打开文件后得到的一个句柄,是个整数.属于用户区用来记录文件的一些信息,如文件指针,指向系统文件描述符表的指针,保存在进程的PCB中. ...
- 怎样用java实现文件比较,判断是否是同一个文件
问题的提出:怎样用java实现文件的比较,比如两张图片是否相同,或任意两个文件是否为同一个文件? 解决思路: 文件进行比较是否相同,只要用于图片的比较,其它文件也可以的 比较的思路,首先比较两个文件大 ...
最新文章
- selenium python (八)定位frame中的对象
- PHP 底层的运行机制与原理 --转
- MATLAB机器学习系列-8 极限学习机(Extreme Learning Machine, ELM)原理及其代码实现
- PngEncoder_CreateInstance Failed writing PNG because unable to find libpng12.so.0
- 用函数计算工龄_用Excel计算财务账期,离不开这3个函数
- 面向对象—的__new__()方法详解
- 爬取词库,使用jieba分词库,自定义dict.txt文件+将搜狗词库.scel文件为.txt文件
- springboot gateway post body 为空_Spring Boot常见属性以及问题总结
- [NOIP2017 TG D2T2]宝藏(模拟退火)
- openwrt多拨插件_折腾小日记三:爱快PKopenwrt多拨实测
- PDMS开发使用的pml界面设计器
- matlab 取整数命令,matlab取整函数命令代码
- ppt母版的神奇用法
- unity 图片改成astc 所有机型机型检测
- docker中mysql忘记密码怎么办?
- 拉里 埃里森_拉里·埃里森(Larry Ellison)的宝座
- HDU 6578 Blank
- 示波器常见的四种探头
- web课程设计网页规划与设计:个人毕设网站设计 —— 二手书籍(11个页面) HTML+CSS+JavaScript...
- Flutter 自定义Widget——风车实现
热门文章
- python测试系列教程 —— 单元测试unittest
- OPNET网络仿真分析-1.1.3、OPNET Modeler
- tasm报错illegal memory reference的解决办法
- WPF ViewModel与多个View绑定后如何解决的问题
- PHP魔术方法小结.md
- 使用Pack200压缩你的代码
- 禁止minigui 3.0的屏幕保护
- Ruby笔记三(类、对象、属性)
- [转载] 深度测评Python的3种“字符串格式化”方法,看看你喜欢哪一种?
- Swift调用微信支付宝SDK(Swift4.0)