兩種簡單的實現方式,一種是有鏈結阻塞佇列,多餘的任務會直接放到佇列裡面等待執行,一種是同步佇列
public void testlinkedblockingqueue()
// 建立乙個同時允許執行緒併發執行的執行緒池,用於建立訂單
executorservice executor = new threadpoolexecutor(1, 10, 10l,
timeunit.seconds, new linkedblockingqueue(10),
new threadpoolexecutor.callerrunspolicy());
for (integer num : waitdeallist) catch (interruptedexception e)
};executor.execute(runnable);
}executor.shutdown();
try
system.out.println(new date()+":執行緒已關閉");
} catch (interruptedexception e)
}
public void testsynchronousqueue()
// 建立乙個同時允許執行緒併發執行的執行緒池,用於建立訂單
executorservice executor = new threadpoolexecutor(1,20, 10l,
timeunit.seconds, new synchronousqueue(),
new threadpoolexecutor.callerrunspolicy());
for (integer num : waitdeallist) catch (interruptedexception e)
};executor.execute(runnable);
}executor.shutdown();
try
system.out.println(new date()+":執行緒已關閉");
} catch (interruptedexception e)
}
java多執行緒
在網上看到很有意思的問題,摘下來好好看下 在面試的時候被問了乙個多執行緒的問題 回來仔細思考了一下,多執行緒是否真的能提高了效率?我對多執行緒的理解就是 比如挖乙個隧道,有2種開工方法 1 只在山的一頭挖,直至挖到山的另一頭,從而打通隧道,這可以看成是單執行緒 2 在山的兩頭挖,同時開工,最後在山的...
Java 多執行緒
1。thread類和runnable介面 2。主線程 用thread的static thread currentthread 方法獲得 3。通過實現runnable介面建立執行緒 實現runnable介面的run方法。新執行緒在run 方法返回時結束。注意用這種方法建立程序時,在實現runnable...
JAVA 多執行緒
為hashmap的不正確使用所導致。hashmap在多執行緒環境下使用不安全。使用靜態hashmap作為聯絡人資料快取,key為手機號碼.private static maplxrdata new hashmap 多執行緒環境下不同步hashmap可能導致如下問題 1 多執行緒put操作後可能導致g...