1)Task本身就是異步執行的(4.5的那個類)。
2)控制數量和終止線程問題可以考慮這個模式:
static async void RunAsync() { CancellationTokenSource ts = new CancellationTokenSource(); CancellationToken c = ts.Token; await Task.Run(() => { //此處放置你的任務…… },c).ContinueWith ((t) => { //繼續你的任務…… },c); c.Register(() => { //當全部Task終止之后,請在此處逐一終止全部的線程 }); //停止全部活動 ts.Cancel(); }