當乙個方法中有很多複雜的操作的時候就可以使用非同步程式設計。
假如說這乙個方法中有很多複雜的操作,把每乙個複雜的操作放到乙個非同步方法中。
但是使用非同步的方法,可以把這些複雜的操作給肢解了,把每乙個複雜的操作都放到乙個非同步方法中,然後同時執行這些複雜的操作。
///在控制台中呼叫這個方法
static
void
taskwait()
console.writeline(
"非同步方法中執行操作結束");
return
aa; });
//啟動 system.threading.tasks.task,並將它安排到當前的 system.threading.tasks.taskscheduler中執行。
task.start();
console.writeline(
"主線程執行其他處理1");
console.writeline(
"主線程執行其他處理2");
console.writeline(
"主線程執行其他處理3");
console.writeline(
"主線程執行其他處理4");
console.writeline(
"主線程執行其他處理5");
//等待任務的完成執行過程。
task.wait();
//獲得任務的執行結果
console.writeline("
任務執行結果---
" +task.result.tostring());
}
這樣就可以把一些比較費時的操作拿出來,進行非同步操作,就可以節省一部分時間。
///在控制台中呼叫這個方法
static
void
taskcontinuewith()
console.writeline(
"非同步方法中執行操作結束");
return
aa; });
//啟動任務,並安排到當前任務佇列執行緒中執行任務(system.threading.tasks.taskscheduler)
task.start();
console.writeline(
"主線程執行其他處理1");
console.writeline(
"主線程執行其他處理2");
console.writeline(
"主線程執行其他處理3");
console.writeline(
"主線程執行其他處理4");
console.writeline(
"主線程執行其他處理5");
//任務完成時執行處理。
task cwt = task.continuewith(t =>
console.writeline(
"第二個---非同步方法中執行操作結束");
return
aa; });
//這裡不需要再啟動這個task方法了
cwt.wait();
console.writeline(
"第二個---非同步方法的返回結果---
" +cwt.result.tostring());
}
如何正確運用非同步程式設計技術
同步 英語 synchronization 指對在乙個系統中所發生的事件 event 之間進行協調,在時間上出現一致性與統一化的現象。說白了就是多個任務乙個乙個執行,同一時刻只有乙個任務在執行。非同步 英語 asynchronization 指的是讓cpu暫時擱置當前請求的響應,處理下乙個請求,當通...
C 非同步程式設計
同步方法和非同步方法的區別 同步方法呼叫在程式繼續執行之前需要等待同步方法執行完畢返回結果 非同步方法則在被呼叫之後立即返回以便程式在被呼叫方法完成其任務的同時執行其它操作 非同步程式設計概覽 net framework 允許您非同步呼叫任何方法。定義與您需要呼叫的方法具有相同簽名的委託 公共語言執...
C 非同步程式設計
一 基礎知識 1 非同步程式設計 2 非同步方法 乙個程式呼叫某個方法,在處理完成前就返回該方法。同步和非同步主要用於修飾方法。當乙個方法被呼叫時,呼叫者需要等待該方法執行完畢並返回才能繼續執行,我們稱這個方法是同步方法 當乙個方法被呼叫時立即返回,並獲取乙個執行緒執行該方法內部的業務,呼叫者不用等...