c 多執行緒及同步非同步問題

2021-10-05 18:39:30 字數 1737 閱讀 8709

同步非同步**:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading;

using system.threading.tasks;

using system.windows.forms;

//非同步方法

private

void

button1_click

(object sender, eventargs e)")

; action action =

this

.dosomethinglong;

// 呼叫委託(同步呼叫)

"btnasync_click_1");

// 非同步呼叫委託

action.

begininvoke

("btnasync_click_2"

,null

,null);

for(int i =

0; i <

5; i++)"

);// this.dosomethinglong(name);

action.

begininvoke

(name,

null

,null);

} console.

writeline

($"***************btnasync_click end ");

}//同步方法

private

void

button2_click

(object sender, eventargs e)

***************");

int j =3;

int k =5;

int m = j + k;

for(int i =

0; i <

5; i++)"

);this

.dosomethinglong

(name);}

}private

void

dosomethinglong

(string name)

start ***************");

long lresult =0;

for(int i =

0; i <

1000000000

; i++

) console.

writeline

($"****************dosomethinglong end ***************");}}}

非同步執行結果:

同步執行結果:

delegate及aciton、func的異同:

同步 非同步 多執行緒

1 首先明確一點,對於單核cpu,任意乙個時刻只有乙個執行緒在執行。那麼既然這樣,多執行緒還有什麼意義呢?舉例來說,現在只有乙個人,要做好幾個任務。單執行緒就是,任務乙個乙個地做,必須做完乙個任務後,再去做另乙個任務。多執行緒就是一會做這個任務,一會做那個任務,每個任務做一會,不停的切換。顯然,最後...

同步 非同步 多執行緒

1 首先明確一點,對於單核cpu,任意乙個時刻只有乙個執行緒在執行。那麼既然這樣,多執行緒還有什麼意義呢?舉例來說,現在只有乙個人,要做好幾個任務。單執行緒就是,任務乙個乙個地做,必須做完乙個任務後,再去做另乙個任務。多執行緒就是一會做這個任務,一會做那個任務,每個任務做一會,不停的切換。顯然,最後...

多執行緒 執行緒同步 非同步

同步和非同步 同步和非同步通常用來形容一次方法的呼叫。同步方法呼叫一旦開始,呼叫者必須完成所有的操作一直到方法呼叫結束,其他呼叫者才能繼續後續的行為,非同步方法呼叫類似乙個訊息傳遞,一旦開始,方法呼叫就會立即返回,其他呼叫者則可以無需等待,可以立即繼續後續的操作。非同步 不過,如果 我們 趕時髦,就...