多執行緒實現demo

2021-09-10 22:48:42 字數 1448 閱讀 5398

多執行緒應用場景:報表匯出,大批量資料同步等等吧。

同步100萬條資料,單個執行緒假如需要2.5個小時,如果5個執行緒一起跑可能只需要0.5小時,10個執行緒一起跑可能只需要十五分鐘。這樣就大大提高了效率。那麼我們如果讓多個執行緒同時跑,而且又跑的是不重複的資料呢,可以按照id ,時間段進行分割。每乙個執行緒跑20萬條,或者按照時間順序進行跑。***的例子是按照時間分割,進行多執行緒處理。

使用executorservice、callable、future實現有返回結果的多執行緒 應用demo

public static void main(string args) 

});//需要返回值

future t2 = pool.submit(new callable()

});//需要返回值

future t3= pool.submit(new callable()

});//需要返回值

future t4 = pool.submit(new callable()

});//需要返回值

future t5 = pool.submit(new callable()

});//需要返回值

try catch (exception e)

//關閉執行緒池

pool.shutdown();

}/**

* 根據時間段查詢 分頁查詢 處理業務業務

* */

public static string aa(string starttime ,string endtime)catch (exception e)

return "任務返回執行結果,當前任務時間【" + time + "毫秒】";

}

返回結果:

>>>pool-1-thread-3任務終止-------2018-07-01 00:00:00====2018-08-01 00:00:00

>>>pool-1-thread-4任務終止-------2018-08-01 00:00:00====2018-12-01 00:00:00

>>>pool-1-thread-2任務終止-------2018-05-01 00:00:00====2018-07-01 00:00:00

>>>pool-1-thread-5任務終止-------2018-12-01 00:00:00====2019-02-01 00:00:00

>>>pool-1-thread-1任務終止-------2018-01-01 00:00:00====2018-05-01 00:00:00

t1:任務返回執行結果,當前任務時間【10008毫秒】

t2:任務返回執行結果,當前任務時間【7007毫秒】

t3:任務返回執行結果,當前任務時間【4007毫秒】

t4:任務返回執行結果,當前任務時間【7007毫秒】

t5:任務返回執行結果,當前任務時間【9008毫秒】

多執行緒執行demo

業務場景 需要大批量處理資料,執行時間容易超時。主線程等待子執行緒執行完成再執行 static int count 0 public static void main string args list list new arraylist list.add 2 list.add 1 list.add...

C 多執行緒demo

首先,我們寫個簡單的單執行緒程式,也就是只有程式自己建立的那個主線程,沒有使用多執行緒.建立乙個新工程,向視窗新增乙個label命名為label1 我們要讓程式執行時label1就顯示乙個數字,假設為100 通常我們會直接在視窗載入事件中寫label1.text 100 這樣,執行 label1果然...

多執行緒檔案搜尋Demo 原創

本demo只是提供一鐘思路,有興趣的朋友可以在其基礎上完善!用到了垮執行緒訪問ui控制項。this.listbox1.items.add f.name this.label1.text f.fullname delegate void finishedfindfilehandle string a ...