《多線程併發任務處理組件》——無聲

Silent Task Handler Kit

源碼
github地址
碼雲地址

What’s Silent Task Handler Kit

靜默任務處理器組件可以賦予你的應用一鍵式多線程處理任務的能力, 它基於jdk1.8中concurrent包內容進行封裝簡化, 無任何第三方代碼,
它提供了更簡單的多線程任務處理方法, 其中你可以通過插拔式配置來滿足你的需求
目前提供了以下配置

  1. 啓動線程大小
  2. 自定義線程池
  3. 同異步處理機制
  4. 任務結束異步處理機制

快速開始

當你有一組任務數據需要處理, 只需像這樣

// 待處理任務數據, 比如是一組待更新的每天凌晨需要處理的數據
List<String> testData = new ArrayList<>();
// 多線程操作
new TaskHandler<String>(testData) {
    @Override
    public void run(String s) {
        //TODO 你的業務代碼 根據每個數據的內容進行後續的業務操作
    }
}.execute();

它就可以幫你完成多線程任務處理. 並且它還支持同異步處理機制, 例如這樣

// 待處理任務數據, 比如是一組待更新的每天凌晨需要處理的數據
List<String> testData = new ArrayList<>();
// 多線程操作
new TaskHandler<String>(testData) {
    @Override
    public void run(String s) {
        //TODO 你的業務代碼 根據每個數據的內容進行後續的業務操作
    }
// 設置 sync 同異步處理, 默認爲異步
}.sync(true).execute();

// 方法 fun1() 需要等待所有任務處理結束後才能執行
fun1();

又或者說你的 fun1() 後面還有其他事情, 比如 fun2(), 但你想讓任務處理結束後執行fun1(), 但fun2()不想同fun1()一起去等待任務結束, 此時你可以這樣

// 待處理任務數據, 比如是一組待更新的每天凌晨需要處理的數據
List<String> testData = new ArrayList<>();
// 多線程操作
new TaskHandler<String>(testData) {
    @Override
    public void run(String s) {
        //TODO 你的業務代碼 根據每個數據的內容進行後續的業務操作
    }
// athend來實現異步執行結束後執行指定方法
}.athend(() -> {
            fund1();
         }.execute();

// 方法 fun2() 不需要等待所有任務處理結束後執行, 將與任務並行
fun2();

希望看到這裏的你能支持我. 給個star

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章