C Task多執行緒

2022-02-12 13:02:34 字數 2563 閱讀 7714

來自eleven老師示例

private

void btntask_click(object

sender, eventargs e)

********************

", thread.currentthread.managedthreadid);

//thread thread = new thread(() => console.writeline("thread,,", thread.currentthread.managedthreadid));

=> console.writeline("threadpool,,", thread.currentthread.managedthreadid));

//new action(() => console.writeline("非同步呼叫,,", thread.currentthread.managedthreadid)).begininvoke(null, null);

//task task = task.run(() => console.writeline("task,,", thread.currentthread.managedthreadid));

console.writeline("

eleven接到乙個專案");

console.writeline(

"溝通需求,確認需求,談妥**");

console.writeline(

"簽合同收取50%費用");

console.writeline(

"高階班篩選學員,組建團隊");

console.writeline(

"需求分析,系統設計,模組劃分");

console.writeline(

"開始幹活。。。。

");//

都是eleven老師幹的 所以是主線程

//多人一起幹活,,是不是 該用多執行緒了

taskfactory taskfactory = new

taskfactory();

list

tasklist = new list();

//有個問題,如果想每個task後都輸出乙個進度,怎麼辦?

tasklist.add(taskfactory.startnew(() => this.coding("

backbone

", "

client

")));//

.continuewith(

tasklist.add(taskfactory.startnew(() => this.coding("

滑豬小板

", "

db

")));

tasklist.add(taskfactory.startnew(() => this.coding("

adan

", "

wechatclient

")));

tasklist.add(taskfactory.startnew(() => this.coding("

sowhat

", "

backservice

")));

tasklist.add(taskfactory.startnew(() => this.coding("

饅頭哥", "

protal

")));

//有沒有又等待,又不卡介面的 (new 乙個子執行緒,全包裹起來,然後waitall)

tasklist.add(taskfactory.continuewhenany(tasklist.toarray(), t => console.writeline("

第乙個完成的獲取紅包獎勵

", thread.currentthread.managedthreadid)));

tasklist.add(taskfactory.continuewhenall(tasklist.toarray(), tlist => console.writeline("

進入乙個聯調測試階段

", thread.currentthread.managedthreadid)));

task.waitany(tasklist.toarray());

//等待任意乙個任務的完成,會阻塞當前執行緒

console.writeline("

某個模組開發完成後,老師部署起來準備測試");

task.waitall(tasklist.toarray());

//等待所有任務的完成,會阻塞當前執行緒

console.writeline("

開發驗收完畢,老師收取剩餘費用");

console.writeline(

"專案結束後,老師給大家分錢");

console.writeline(

"******************btntask_click 非同步方法 end ********************

", thread.currentthread.managedthreadid);

console.writeline();

}

多執行緒 多執行緒原理

我們首先要知道什麼是多執行緒,說白了就是多個執行緒,執行緒是什麼呢,其實就是程序執行的途徑,那麼說道這裡我們又引入了乙個新的名字,就是程序,那麼我們來看看什麼是程序,其實我們自己也能看到,啟動電腦的任務管理器,我們就可以看到程序選項,裡面是我們電腦所有的程序,我們會發現有很多的程序.簡單地說就是程序...

c Task多核程式設計

之所以寫這篇文章是受到這篇文章的啟發,一老外寫的,很無私,以前也老聽到過多核程式設計,有幸看了上面的這篇文章,想把自己的一些理解寫下來 1 為什麼要有多核程式設計的技術那,無非兩點,多核cpu的出現和經常出現乙個cpu告訴執行,另乙個cpu閒著,cpu不應該是這種使用情況 應該是這種 2 c net...

C Task 任務計畫

using system using system.threading using system.collections.generic namespace rocky get 執行任務的計畫 public ischedule shedule 該任務最後一次執行的時間 public datetime...