private static StreamWriter _writer = new StreamWriter("test.txt", true, Encoding.Default) { AutoFlush = true }; private async void Form1_Load(object sender, EventArgs e)
{ for (int i = 0; i < 10000; i++)
{ await _writer.WriteLineAsync(i.ToString());
} for (int i = 0; i < 10000; i++)
{
_writer.WriteLine(i);
}
}這一段代碼執行,觀察文件的大小發現異步方法非常慢,感覺是一個個在寫出,但是同步方法卻很快,一下就寫完,感覺是有緩沖區一樣,請問為什么會造成這個結果呢?
1 回答

慕妹3146593
TA貢獻1820條經驗 獲得超9個贊
你是io操作啊,而且針對同一個writer對象,就好像一堆人擠著走獨木橋能快么?
異步只是提高了資源使用率,增加了吞吐而已,原來執行線程會慢慢的耗著等著db寫入完成或者其他操作,用了異步后讓線程這樣打醬油的機會就少了
- 1 回答
- 0 關注
- 1012 瀏覽
添加回答
舉報
0/150
提交
取消