여러 스레드 프로세스의 완료를 기다리는 중
이 코드 조각에는 여러 스레드가 생성되어 있으며 각 스레드는 자체 스레드 내에서 작업을 실행합니다. 실행의. 계속 진행하기 전에 기본 스레드가 모든 하위 스레드의 실행이 완료될 때까지 기다리도록 하려면 다음 접근 방식을 구현할 수 있습니다.
<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>
join() 메소드를 사용하면 메인 스레드가 차단됩니다. 모든 하위 스레드가 실행을 완료할 때까지 루프를 따르는 코드를 진행하기 전에 프로그램이 모든 작업이 완료될 때까지 기다리도록 합니다. 이 접근 방식을 사용하면 제어할 수 있으며 리소스가 해제되고 프로그램이 올바르게 종료되도록 할 수 있습니다.
위 내용은 다중 스레드 프로세스가 완료될 때까지 메인 스레드가 대기하는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!