c 中兩種常用的非同步呼叫方法

2021-04-20 08:07:11 字數 778 閱讀 1177

非同步呼叫其實就是對執行緒的一種應用,但非同步呼叫在使用上更加靈活,而且功能更強大。此外,非同步呼叫還有乙個的優點就是呼叫的是執行緒池裡的執行緒(c#開發的應用程式的執行緒池裡預設的執行緒數是25,如果要求呼叫執行緒池裡的執行緒,而池裡面的執行緒都是在使用的狀態下時,外部請求會被放到乙個佇列裡進行排隊,等池裡有空閒的執行緒時請求才被執行),開發者不用擔心如何管理池裡面的執行緒,直接呼叫即可。

下面列出兩種最常用的非同步呼叫的用法

一、沒有**函式的用法

定義委託:

private delegate void asynchronism(listlist);

//呼叫

private void ******button1_click(object sender, eventargs e)

///

/// 非同步執行的方法:把傳進來的列表裡的資料列印出來

///

///

///

///

///

private void acallback(iasyncresult iaresult)

///

/// 主程式裡執行的方法,作用是用來測試看是否與非同步呼叫的方法同時執行

///

///

///

///

private void acallback(iasyncresult iaresult)

///

/// 主程式裡執行的方法,作用是用來測試看是否與非同步呼叫的方法同時執行

///

///

C 委託的同步呼叫和非同步呼叫

委託的invoke方法用來進行同步呼叫。同步呼叫也可以叫阻塞呼叫,它將阻塞當前執行緒,然後執行呼叫,呼叫完畢後再繼續向下進行。同步呼叫的例子 using system using system.threading public delegate int addhandler int a,int b ...

C 委託的同步呼叫和非同步呼叫

委託的invoke方法用來進行同步呼叫。同步呼叫也可以叫阻塞呼叫,它將阻塞當前執行緒,然後執行呼叫,呼叫完畢後再繼續向下進行。同步呼叫的例子 using system using system.threading public delegate int addhandler int a,int b ...

C 委託的同步呼叫和非同步呼叫

委託的invoke方法用來進行同步呼叫。同步呼叫也可以叫阻塞呼叫,它將阻塞當前執行緒,然後執行呼叫,呼叫完畢後再繼續向下進行。同步呼叫的例子 using system using system.threading public delegate int addhandler int a,int b ...