當前位置:首頁 » 編程語言 » javafor線程

javafor線程

發布時間: 2024-12-26 21:54:35

java線程for循環沒有循環完成就停止了,這是為什麼

多線程需要基礎學好點。在來開發,否則總有莫名其妙的事情冒出來。而自己無法解釋。
你這個問題很簡單。
你要main主線程1秒後輸出list集合數據。在你代碼中這寫法本身是錯誤的,因為你有2個子線程,有鎖,安全地往list中加2千個數據,卻每次要等待1毫秒,估算2千數據你程序的加完需要2秒多時間,在1秒後,子線程還沒有結束,大概1千個數據還沒加完呢,你主線程就輸出了當前數據。肯定結果不對。哪來的2千個數據呢。你說循環沒完成就停止了,說法完全錯誤。。。
你要main主線程輸出list集合數據。正確操作應該是:
Thread t1 = ...;
t1.start();
t2也是如此。
最後main線程下面,輸出list數據前加2行代碼
t1.join();
t2.join();
然後在列印list。
join方法意思很簡單。就是等待線程結束後,我再繼續。main線程等待了2個子線程都結束後,即保證數據全部進list後,列印結果。

㈡ java for循環中創建線程池

  1. 首先要明確線程池的意思,就是線程預先創建好放在一個池裡面,使用後不會銷毀

  2. 要區分任務和線程池,任務可以不斷添加,但是線程池裡線程的個數是固定的,當任務數超過線程數後,後面的任務需要等待有空閑的線程才會執行

  3. 所以不斷添加任務沒有關系,如果池中有50個線程,你添加100個任務同一時間也只會執行50個任務,剩下的50個任務需要等待前面的任務執行完畢後繼續執行

  4. 所以你的主線程原則上可以不斷for,但是你總得有個結束點吧

熱點內容
計算機多層存儲系統的主要組成 發布:2025-07-02 09:26:25 瀏覽:540
同等配置的聯想和戴爾哪個更好 發布:2025-07-02 09:02:33 瀏覽:125
華為如何查詢以前設置過的密碼 發布:2025-07-02 09:02:28 瀏覽:183
c語言地圖 發布:2025-07-02 09:00:14 瀏覽:490
計算機的主存儲器是指軟盤的容量 發布:2025-07-02 08:53:49 瀏覽:238
為什麼都說歐曼價格高配置低 發布:2025-07-02 08:53:00 瀏覽:548
300人用什麼電腦伺服器好 發布:2025-07-02 08:47:42 瀏覽:903
52好壓縮 發布:2025-07-02 08:24:16 瀏覽:247
javahttp發送http請求 發布:2025-07-02 08:17:05 瀏覽:227
美國編譯的青少經典書第三輯 發布:2025-07-02 08:16:59 瀏覽:950