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);
}
}這一段代碼執(zhí)行,觀察文件的大小發(fā)現(xiàn)異步方法非常慢,感覺是一個(gè)個(gè)在寫出,但是同步方法卻很快,一下就寫完,感覺是有緩沖區(qū)一樣,請(qǐng)問為什么會(huì)造成這個(gè)結(jié)果呢?
1 回答

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