new date().gettime()出現執行緒堵塞的問題概率比較低,但是一旦出現,那麼效能也將下降很多,下面**可以測試這個問題,建立10個執行緒,不斷執行。
其堵塞原因在於這個方法引用了getjuliancalendar(),
synchronized private static final basecalendar getjuliancalendar()
return jcal;
}測試**:
public class dumain
}}.start();
} for(int i=0;i<1000000000;i++)
}public static boolean test()
} return result;
}}
result:
11423--2
11424--274
11425--2
11426--3
可以看到執行到一定次數的時候就會被阻塞一下
Date getTime 執行緒堵塞問題
new date gettime 出現執行緒堵塞的問題概率比較低,但是一旦出現,那麼效能也將下降很多,下面 可以測試這個問題,建立10個執行緒,不斷執行。其堵塞原因在於這個方法引用了getjuliancalendar synchronized private static final basecal...
IO模式 同步(堵塞 非堵塞) 非同步
為什麼io模式非常重要?由於現代的計算機和作業系統的架構決定了cpu是稀缺資源,大家都要來一起競爭。而io 特別是網路相關的io 的速度往往較慢。所以怎樣進行io就有了多種模式,包含同步 非同步 堵塞 非堵塞等等。不少人把這幾個概念放到一起討論,非常多時候也難以區分。這裡從根上剖析下該怎麼看待這幾個...
也談堵塞 非堵塞 同步 非同步
近期在招聘中,發現不少人對bio nio aio等理解非常模糊,認為有必要寫文章來糾正下非常多人的誤解。在談這些之前,非常有必要先介紹下unix 5種io模型 堵塞 堵塞是最經常使用的io模型,預設情況下全部的檔案操作都是堵塞的。以套接字程式設計為例。在程序空間中呼叫recvfrom。其系統呼叫直到...