A. java的線程在項目中一般會有什麼具體的應用
java線程在項目中的應用場景如下:
場景一:一個業務邏輯有很多次的循環,每次循環之間沒有影響,比如驗證1萬條url路徑是否存在,正常情況要循環1萬次,逐個去驗證每一條URL,這樣效率會很低,假設驗證一條需要1分鍾,總共就需要1萬分鍾,有點恐怖。這時可以用多線程,將1萬條URL分成50等份,開50個線程,沒個線程只需驗證200條,這樣所有的線程執行完是遠小於1萬分鍾的。
場景二:需要知道一個任務的執行進度,比如我們常看到的進度條,實現方式可以是在任務中加入一個整型屬性變數(這樣不同方法可以共享),任務執行一定程度就給變數值加1,另外開一個線程按時間間隔不斷去訪問這個變數,並反饋給用戶。
總之使用多線程就是為了充分利用cpu的資源,提高程序執行效率,當你發現一個業務邏輯執行效率特別低,耗時特別長,就可以考慮使用多線程。不過CPU執行哪個線程的時間和順序是不確定的,即使設置了線程的優先順序,因此使用多線程的風險也是比較大的,會出現很多預料不到的問題,一定要多熟悉概念,多構造不同的場景去測試才能夠掌握!