PostGrepSql 執行緒池多執行緒資料插入

2021-10-06 14:06:16 字數 1538 閱讀 3227

資料庫表複製,資料量大時,用單純的客戶端工具只能單執行緒匯入,時間耗時長。本文主要採用jdbc執行緒池解決這個問題。

jdbc

我用的 postgrepsql 資料庫,根據自己的資料庫 新增pom.xml

>

>

postgresqlgroupid

>

>

postgresqlartifactid

>

>

9.1-901-1.jdbc4version

>

dependency

>

工具類
static string url =

"*";

static string user =

"*";

static string password =

"*";

public

static connection getconnect()

catch

(exception e)

return con;

}

需要執行的sql 新增到乙個集合,我用的是

insert

into tablea (

select

*from tableb)

定義執行緒池

public

static

void

main

(string[

] args)

executorservice executorservice = executors.

newfixedthreadpool

(threadcount)

;final countdownlatch countdownlatch =

newcountdownlatch

(recordlist.

size()

);for(

int i =

0; i < threadcount; i++

) string string = null;

trycatch

(interruptedexception e1)

trycatch

(exception e)

finally}}

});}

while

(countdownlatch.

getcount()

!=0)catch

(interruptedexception e)

} executorservice.

shutdownnow()

; system.out.

println

(new

date()

+"多執行緒匯入結束");

}}

多執行緒 執行緒池執行多業務邏輯

1.執行緒池執行不同的業務邏輯.2.獲取每個任務執行的結果 3.最後的結果會用到之前的結果 public class searchuserlistdto catch interruptedexception e system.out.println 111 乙個執行緒池,三個執行緒,執行三個任務,只...

執行緒 執行緒池

執行緒池是一種多執行緒處理形式,處理過程中將任務新增到佇列,然後在建立執行緒後執行,主要實現 建立執行緒和管理執行緒,並且給執行緒分配任務。執行緒池中的執行緒是併發執行的。乙個比較簡單的執行緒池至少應包含執行緒池管理器 工作執行緒 任務列隊 任務介面等部分。其中執行緒池管理器的作用是建立 銷毀並管理...

執行緒 執行緒池

乙個簡單執行緒的建立和銷毀如下 與程序程序相比,執行緒是一種輕量級的工具,但是輕量並不代表沒有,它的建立和關閉依然需要花費時間,如果建立和銷毀的時間還大於執行緒本身完成的工作,那就會得不償失,甚至會造成out of memory。即使沒有,大量的執行緒 也會給gc帶來巨大的壓力。為了解決這樣的問題,...