关于网友提出的“多线程里如何写入同1个文档数据”问题疑问,本网通过在网上对“多线程里如何写入同1个文档数据”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:多线程里如何写入同1个文档数据
描述: 多线程里如何写入同1个文档数据?
public delegate void MyInvoke(string str);
private void btnStartThread_Click(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(DoWord));
thread.Start();
}
public void DoWord()
{
MyInvoke mi = new MyInvoke(SetTxt);
BeginInvoke(mi,new object[]{"abc"});
}
public void SetTxt(string str)
{
//把str写入1.txt 文档里
}
这样可以么???? 这个不会导致什么错误吧,如果我要更新Listview呢??
解决方案1:
主线程只有一个,用于界面交互,如果你让主线程去做这个任务,那么界面就会卡住,通常我们会设计多线程去避免主线程卡住,而 不会反而把任务交给主线程去处理。
如果你要防止并发写文件,也就是需要排队,只有这个线程写完,其它线程才可以写。这就是线程同步,c#里有很多种方法实现线程同步,这个你自己学习学习。
以上介绍了“多线程里如何写入同1个文档数据”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1030289.html