C Func的同步 非同步呼叫

2022-01-31 12:17:02 字數 1667 閱讀 5281

實際開發中,對於一些耗時較長的操作,我們往往會將其封裝成非同步方式呼叫,以加速系統響應或改善使用者體驗,下面是乙個示例:

有乙個現成的類mymath,裡面有乙個add方法: 

1

public

class

mymath29

10 }

對add方法做下封裝,對了對比,同時提供「同步呼叫」與"非同步呼叫"二個版本:

1

///非同步呼叫

2///

3///

4///

5///

6///

7static

void ayscadd(int a, int b, actioncallbackaction)8;

13 func.begininvoke((ar) =>14,

18null

);1920}

2122

///23

///同步呼叫

24///

25///

26///

27///

28static

int syncadd(int a, int

b)29

最後呼叫驗證:

1

static

void main(string

args)2);

14 console.writeline("

非同步呼叫結束");

1516

console.readline();

17 }

完整**:

1

using

system;23

namespace

actiondemo4);

20 console.writeline("

非同步呼叫結束");

2122

console.readline();23}

2425

///26

///非同步呼叫

27///

28///

29///

30///

31///

32static

void ayscadd(int a, int b, actioncallbackaction)33;

38 func.begininvoke((ar) =>39,

43null

);4445}

4647

///48

///同步呼叫

49///

50///

51///

52///

53static

int syncadd(int a, int

b)5457}

5859

public

class

mymath

606768}

69 }

view code

輸出結果如下:

同步呼叫開始=>

同步呼叫結束:3

--------------------------

非同步呼叫開始=>

非同步呼叫結束

非同步呼叫結果:7

C Func的同步 非同步呼叫

using system namespace actiondemo console.writeline 非同步呼叫結束 console.readline 非同步呼叫 static void ayscadd int a,int b,actioncallbackaction func.begininvo...

同步呼叫與非同步呼叫

一 什麼是同步呼叫與非同步呼叫 定義 1 同步就是整個處理過程順序執行,當各個過程都執行完畢,並返回結果。2 非同步呼叫則是只是傳送了呼叫的指令,呼叫者無需等待被呼叫的方法完全執行完畢 而是繼續執行下面的流程。例如,在某個呼叫中,需要順序呼叫 a,b,c三個過程方法 如他們都是同步呼叫,則需要將他們...

ajax同步非同步呼叫

test.html asy.js function testasync success function data alert temp end tet.php echo here is html code sleep 5 async false,預設是true 如上 false為同步,這個 tes...