JAVA 多執行緒

2021-06-12 00:25:41 字數 410 閱讀 1721

為hashmap的不正確使用所導致。hashmap在多執行緒環境下使用不安全。

// 使用靜態hashmap作為聯絡人資料快取,key為手機號碼.

private static maplxrdata = new hashmap();

多執行緒環境下不同步hashmap可能導致如下問題:

1、多執行緒put操作後可能導致get死迴圈。

2、多執行緒put操作的時候可能導致元素丟失。

解決方法:

1、在多執行緒環境下使用concurrenthashmap。

2、加入同步**。

private static maplxrdata = new concurrenthashmap();

//可能引起併發問題的**塊加

synchronized(lxrdata)

java多執行緒

在網上看到很有意思的問題,摘下來好好看下 在面試的時候被問了乙個多執行緒的問題 回來仔細思考了一下,多執行緒是否真的能提高了效率?我對多執行緒的理解就是 比如挖乙個隧道,有2種開工方法 1 只在山的一頭挖,直至挖到山的另一頭,從而打通隧道,這可以看成是單執行緒 2 在山的兩頭挖,同時開工,最後在山的...

Java 多執行緒

1。thread類和runnable介面 2。主線程 用thread的static thread currentthread 方法獲得 3。通過實現runnable介面建立執行緒 實現runnable介面的run方法。新執行緒在run 方法返回時結束。注意用這種方法建立程序時,在實現runnable...

Java多執行緒

建立任務和執行緒 任務就是物件。為了建立任務,必須首先為任務定義乙個類。任務類必須實現runnable介面。runnable介面非常簡單,它只包含乙個run方法。一旦定義了taskclass,就可以呼叫其構造方法建立乙個任務。taskclass task new taskclass thread t...