您好,登錄后才能下訂單哦!
Java項目中怎么在子線程結束后執行代碼?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
主線程等待子線程,然后子線程執行結束后,主線程再繼續執行。
主線程等待子線程需要用到:CountDownLatch
代碼如下:
import java.util.concurrent.CountDownLatch; public class Counter { public static int count = 0; static CountDownLatch cdl=new CountDownLatch(1000);//這里的數字,開啟幾個線程就寫幾 public synchronized static void inc() throws InterruptedException{//注意,如果不加上synchronized,由于并發寫入,結果會小于1000 Thread.sleep(1); count++; cdl.countDown(); } public static void main(String[] args) throws InterruptedException{ for(int i = 0; i < 1000; i++){ new Thread(new Runnable(){ public void run() { // TODO Auto-generated method stub try { Counter.inc(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } ).start(); } cdl.await();//主線程等待子線程執行輸出 System.out.println(count); } }
關于Java項目中怎么在子線程結束后執行代碼問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。