国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

java 線程池 java兩個線程同時調用一個類里的同一個方法,這樣會出現什么情況?有沒有問題?

java兩個線程同時調用一個類里的同一個方法,這樣會出現什么情況?有沒有問題?根據不同的情況,可能的情況如下:1。如果此方法不涉及寫入公共資源(如靜態(tài)變量或寫入文件),則在修改數據庫值時不會產生影響。

java兩個線程同時調用一個類里的同一個方法,這樣會出現什么情況?有沒有問題?

根據不同的情況,可能的情況如下:

1。如果此方法不涉及寫入公共資源(如靜態(tài)變量或寫入文件),則在修改數據庫值時不會產生影響。

2. 例如,類中的方法只計算輸入參數并返回計算值,這沒有任何效果。

3. 但是,如果要修改公共資源,例如修改存儲在數據庫中的值,則可能會出現問題,例如:

public void writedb(string key,string value){

collectiondb()

write(key,string value){

,4。由于Java線程的運行順序不確定,第一個線程連接到數據庫后掛起,第二個線程開始運行。如果collectiondb()進程使用類中的實例變量connection,則Conn用于保存數據庫連接。當第二個線程完成運行時,Conn也關閉。當第一個線程繼續(xù)執(zhí)行write函數來寫入數據庫值時,將引發(fā)異常。

這是一個示例,還有其他問題可能會生成臟數據。

如果多線程使用公共資源,最好在同步方法上聲明synchronized關鍵字