亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# 中await前后執行線程的問題

C# 中await前后執行線程的問題

C#
瀟湘沐 2018-08-21 10:09:58
今天有點疑惑就寫了個測試的代碼,發現控制臺和Winform中不一樣比如:控制臺:...Main(){  Test(); }private static async void Test(){Show("Test.Before");await Task.Run(() => { Thread.Sleep(2000); Show("Test.Task"); });Show("Test.After");//輸出字符串和當前線程}private static void Show(string str){Console.WriteLine($"{str}:{Thread.CurrentThread.ManagedThreadId}\r\n");}輸出:Test.Before:1Test.Task:3Test.After:3 Winform中:...test(){ Test(); }private async void Test(){Show("Test.Before");await Task.Run(() => { Thread.Sleep(2000); });Show("Test.After");//輸出字符串和當前線程}public void Show(string str){richTextBox1.AppendText($"{str}:{Thread.CurrentThread.ManagedThreadId}\r\n");}輸出:Test.Before:1Test.After:1 為什么這兩個不一樣呢?新手求解答
查看完整描述

1 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

對于當前運行的winform程序,始終只有一個UI線程


查看完整回答
反對 回復 2018-09-11
  • 1 回答
  • 0 關注
  • 1110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號