日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

凡人修仙传之晴天传

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 凡人修仙传之晴天传 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小白從零到架構師的修仙之路-多線程(1)

  • 前言
  • 異步
    • 異步委托Action
      • 異步回調
      • 異步等待
    • 異步委托Func或Func<>

前言

進程,線程,多線程,同步,異步這些概念,接觸過的應該都比較熟悉,此處不做贅述,第一次寫博客,寫的比較爛,純粹做個分享.

異步

所謂的異步和同步,同步順序執行,異步則是當線程執行到異步的時候,會跳過繼續往下執行,異步委托則開啟新的線程去執行異步.

異步委托Action

Action<String> action = Do;action.BeginInvoke("some string ", null, null);

執行Do函數 Do參數為BeginInvoke的第一個參數,第二個參數為回調callback,Action的String表示異步委托方法的參數類型為String

Action<String> action = Do;//Do函數打印傳入的參數 action.BeginInvoke("some string ", null, null); Console.WriteLine("111");

執行結果

some string 111

異步回調

異步回調指的是異步執行完畢后執行的操作,如下

AsyncCallback callback = ar => {Console.WriteLine("等待結束"); }; Action<String> action = Do; action.BeginInvoke("new new new ", callback, null); Console.WriteLine("111");

執行結果:

111 new new new 等待結束

線程執行到異步委托跳過,打印111,異步委托執行打印new new new,異步委托執行完畢執行回調函數,打印等待結束.

異步等待

AsyncCallback callback = ar =>{Console.WriteLine("等待結束");};Action<String> action = Do;var b = action.BeginInvoke("new new new ", callback, null);//方式一:一直等待while (!b.IsCompleted){//Thread.Sleep(100);}//方式二:一直等待b.AsyncWaitHandle.WaitOne(-1);//方式三:等待指定毫秒,超時就不等待了繼續往下執行b.AsyncWaitHandle.WaitOne(1000);Console.WriteLine("111");

執行結果:

new new new 等待結束 111

線程執行至異步操作,跳過繼續執行,while循環判斷異步操作是否完成,此時主線程等待異步操作執行完畢,開始執行回調函數,回調函數執行完畢,線程繼續往下執行.

異步委托Func或Func<>

同樣是異步委托,Action沒有返回值,Func<>則有.
Func<T,ResultT> T:委托封裝的方法的參數類型 ResultT委托封裝的方法的返回值類型
Func<T,ResultT>(T arg) T:委托封裝的方法的參數類型 ResultT委托封裝的方法的返回值類型 arg:委托封裝方法的參數,類型T
當<>內只有一個類型時,默認為返回值類型

Func<int> func = () => {return DateTime.Now.Day; }; var result = func.BeginInvoke(ar=> {int days = func.EndInvoke(ar);//使用endInvoke獲取異步的返回值Console.WriteLine(days);Thread.Sleep(2000);Console.WriteLine("66");Thread.Sleep(2000);Console.WriteLine("77"); },null);

結果:

111 1 66 77

總結

以上是生活随笔為你收集整理的凡人修仙传之晴天传的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。