>Java >java지도 시간 >여러 스레드가 완료된 후 기본 스레드 실행을 보장하는 방법은 무엇입니까?

여러 스레드가 완료된 후 기본 스레드 실행을 보장하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 02:50:02331검색

How to Ensure Main Thread Execution After Multiple Threads Complete?

여러 스레드 완료 대기

설명한 시나리오에서는 여러 스레드가 생성되고 각각이 동일한 작업을 독립적으로 실행합니다. , 생성된 모든 스레드가 실행을 완료할 때까지 기본 스레드를 일시 중지하는 방법을 찾는 것이 필요합니다. 이는 적절한 조정을 보장하고 보조 스레드가 완료되기 전에 기본 스레드가 진행되는 것을 방지하는 데 필수적입니다.

효과적인 솔루션 중 하나는 생성된 모든 스레드를 저장하는 Thread 객체 배열을 생성하고 이를 동시에 시작한 다음, 배열의 각 스레드에서 Join() 메서드를 호출하는 루프를 구현합니다. Join() 메서드는 호출된 스레드가 종료될 때까지 호출 스레드를 차단합니다.

이 루프를 DoSomethingInAThread 클래스에 통합하면 기본 스레드 실행을 계속하기 전에 모든 보조 스레드가 완료될 때까지 안정적으로 기다릴 수 있습니다.

<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>

위와 같이 main() 메서드를 수정하면 모든 보조 스레드의 실행이 완료된 후에만 메인 스레드가 진행됩니다. 이 기술은 메인 스레드의 실행이 모든 하위 스레드의 완료와 동기화되도록 보장합니다.

위 내용은 여러 스레드가 완료된 후 기본 스레드 실행을 보장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.