Rumah  >  Artikel  >  Java  >  Bagaimana untuk Memastikan Benang Utama Menunggu Selesai Proses Berbilang Benang?

Bagaimana untuk Memastikan Benang Utama Menunggu Selesai Proses Berbilang Benang?

Barbara Streisand
Barbara Streisandasal
2024-10-31 02:31:29643semak imbas

How to Ensure the Main Thread Waits for Completion of Multiple Threaded Processes?

Menunggu Selesai Proses Berbilang Berulir

Dalam coretan kod ini, anda mempunyai berbilang rangkaian yang dibuat, setiap satu menjalankan tugas dalam urutannya sendiri daripada pelaksanaan. Untuk memastikan bahawa utas utama menunggu semua sub-benang menyelesaikan pelaksanaannya sebelum meneruskan, anda boleh melaksanakan pendekatan berikut:

  1. Simpan Benang dalam Tatasusunan: Cipta array untuk menyimpan semua benang yang dibuat. Ini memastikan penjejakan teratur bagi status penyiapan mereka.
  2. Mulakan Semua Benang: Gelung melalui tatasusunan benang dan mulakan setiap urutan menggunakan kaedah mula().
  3. Sertai Benang dalam Gelung: Selepas memulakan semua utas, tambahkan gelung untuk menyertai setiap utas dalam tatasusunan. Kaedah join() menyekat utas panggilan (dalam kes ini, utas utama) sehingga utas sasaran menyelesaikan pelaksanaannya.
<code class="java">// ... (code as before)

public class DoSomethingInAThread implements Runnable {

    public static void main(String[] args) {
        Thread[] threads = new Thread[1000];  // Assume 1000 threads for example
        
        // Start all threads
        for (int n = 0; n < 1000; n++) {
            threads[n] = new Thread(new DoSomethingInAThread());
            threads[n].start();
        }
        
        // Wait for all threads to complete
        for (int i = 0; i < threads.length; i++) {
            threads[i].join();
        }
    }

    public void run() {
        // ... (code as before)
    }
}</code>

Dengan menggunakan kaedah join(), utas utama menyekat sehingga semua sub-benang telah menyelesaikan pelaksanaannya, memastikan program anda menunggu semua tugas selesai sebelum meneruskan dengan kod yang mengikuti gelung. Pendekatan ini memberi anda kawalan dan memastikan sumber dikeluarkan dan program ditamatkan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Memastikan Benang Utama Menunggu Selesai Proses Berbilang Benang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn