爲何要用到線程池?這個原因是因爲每次啓動線程需要很多的系統資源.我們要做的是每個線程執行runable方法.而執行runable方法的時候會要一些線程的上下文等資源做準備,這些線程準備每個線程都是相同的.所以自然想到能不能把這些線程資源緩存起來.
而執行線程的時候又因爲CPU分配時間不固定,所以每個線程在執行的時候可能碰到線程池退出等問題,那他改怎麼辦?
線程池就幫我解決了.
爲何要用到線程池?這個原因是因爲每次啓動線程需要很多的系統資源.我們要做的是每個線程執行runable方法.而執行runable方法的時候會要一些線程的上下文等資源做準備,這些線程準備每個線程都是相同的.所以自然想到能不能把這些線程資源緩存起來.
而執行線程的時候又因爲CPU分配時間不固定,所以每個線程在執行的時候可能碰到線程池退出等問題,那他改怎麼辦?
線程池就幫我解決了.
ThreadLocal的使用,,,實際上相當於維護了一個Map,其中以鍵值對的形式,存儲了某一個數據被多個線程訪問所對應的值。當然這個數據只能有
JSONArray序列化日期最初用到, 這個是全局設置,會有風險。 String[] dateFormats = new String[] {"yyyyMMdd"}; JSONUtils.getM