"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 다중 스레드 프로세스가 완료될 때까지 메인 스레드가 대기하는지 확인하는 방법은 무엇입니까?

다중 스레드 프로세스가 완료될 때까지 메인 스레드가 대기하는지 확인하는 방법은 무엇입니까?

2024년 11월 11일에 게시됨
검색:296

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

여러 스레드 프로세스의 완료를 기다리는 중

이 코드 조각에는 여러 스레드가 생성되어 있으며 각 스레드는 자체 스레드 내에서 작업을 실행합니다. 실행의. 계속하기 전에 메인 스레드가 모든 하위 스레드의 실행이 완료될 때까지 기다리도록 하려면 다음 접근 방식을 구현할 수 있습니다.

  1. 배열에 스레드 저장: 생성된 모든 스레드를 저장하는 배열입니다. 이렇게 하면 완료 상태를 체계적으로 추적할 수 있습니다.
  2. 모든 스레드 시작: 스레드 배열을 반복하고 start() 메서드를 사용하여 각 스레드를 시작합니다.
  3. 루프에서 스레드 결합: 모든 스레드를 시작한 후 루프를 추가하여 배열의 각 스레드를 결합합니다. Join() 메서드는 대상 스레드가 실행을 완료할 때까지 호출 스레드(이 경우 기본 스레드)를 차단합니다.
// ... (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 

join() 메서드를 사용하면 모든 하위 스레드가 실행을 완료할 때까지 기본 스레드가 차단되므로 프로그램은 루프를 따르는 코드를 진행하기 전에 모든 작업이 완료될 때까지 기다립니다. 이 접근 방식을 사용하면 제어할 수 있으며 리소스가 해제되고 프로그램이 올바르게 종료되도록 할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3