Rumah  >  Artikel  >  Java  >  Bagaimana untuk Memastikan Pelaksanaan Benang Utama Selepas Berbilang Benang Selesai?

Bagaimana untuk Memastikan Pelaksanaan Benang Utama Selepas Berbilang Benang Selesai?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 02:50:02224semak imbas

How to Ensure Main Thread Execution After Multiple Threads Complete?

Menunggu Penyiapan Berbilang Benang

Dalam senario yang telah anda huraikan, di mana berbilang rangkaian dicipta dan setiap satu menjalankan tugas yang sama secara bebas , ia menjadi perlu untuk mencari jalan untuk menjeda utas utama sehingga semua utas yang dihasilkan telah selesai dilaksanakan. Ini penting untuk memastikan penyelarasan yang betul dan menghalang utas utama daripada meneruskan sebelum utas sekunder selesai.

Satu penyelesaian yang berkesan melibatkan mencipta pelbagai objek Thread untuk menyimpan semua utas yang dihasilkan, memulakannya secara serentak, dan kemudian melaksanakan gelung yang memanggil kaedah join() pada setiap utas dalam tatasusunan. Kaedah join() menyekat urutan panggilan sehingga urutan yang dipanggil apabila keluar.

Dengan memasukkan gelung ini ke dalam kelas DoSomethingInAThread anda, anda boleh menunggu dengan pasti semua urutan sekunder selesai sebelum meneruskan pelaksanaan utas utama:

<code class="java">// Array to store created threads
private static Thread[] threads;

public static void main(String[] args) {
    // Create an array to store the threads
    threads = new Thread[1000];

    // Start all the threads
    for (int n = 0; n < 1000; n++) {
        Thread t = new Thread(new DoSomethingInAThread());
        t.start();
        // Save the reference to the created thread
        threads[n] = t;
    }

    // Wait for all threads to complete
    for (int i = 0; i < threads.length; i++) {
        threads[i].join();
    }</code>

Dengan mengubah suai kaedah main() seperti yang ditunjukkan di atas, utas utama hanya akan diteruskan setelah semua utas sekunder selesai melaksanakan. Teknik ini memastikan pelaksanaan utas utama disegerakkan dengan penyiapan semua utas anaknya.

Atas ialah kandungan terperinci Bagaimana untuk Memastikan Pelaksanaan Benang Utama Selepas Berbilang Benang Selesai?. 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