csharp 此代码用于同步和异步模式下的io编程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 此代码用于同步和异步模式下的io编程相关的知识,希望对你有一定的参考价值。
string StartDirectory = @"D:\temp\source";
string EndDirectory = @"D:\temp\destination";
private async void btnStartAsync_Click(object sender, EventArgs e)
{
foreach (string filename in Directory.EnumerateFiles(StartDirectory))
{
using (FileStream SourceStream = File.Open(filename, FileMode.Open))
{
var destFilePath = EndDirectory + filename.Substring(filename.LastIndexOf('\\'));
using (FileStream DestinationStream = File.Create(destFilePath))
{
await SourceStream.CopyToAsync(DestinationStream);
}
}
}
}
private void btnStartSync_Click(object sender, EventArgs e)
{
foreach (string filename in Directory.EnumerateFiles(StartDirectory))
{
using (FileStream SourceStream = File.Open(filename, FileMode.Open))
{
using (FileStream DestinationStream = File.Create(EndDirectory + filename.Substring(filename.LastIndexOf('\\'))))
{
SourceStream.CopyTo(DestinationStream);
}
}
}
}
以上是关于csharp 此代码用于同步和异步模式下的io编程的主要内容,如果未能解决你的问题,请参考以下文章
进阶学习5:JavaScript异步编程——同步模式异步模式调用栈工作线程消息队列事件循环回调函数
JavaScript异步编程
Reactor和Proactor模式的讲解(关于异步,同步,阻塞与非阻塞)
5种IO模型阻塞IO和非阻塞IO同步IO和异步IO
同步/异步/阻塞/非阻塞
JavaScript中异步编程的工作模式 --- 同步模式/异步模式||异步的EventLoop消息队列