스레드 풀의 모든 작업자가 완료 될 때까지 기다리는 가장 좋은 방법은 무엇입니까?

Mentiflectax

다음 코드가 있다고 상상해보십시오.

final ExecutorService threadPool = Executors.newFixedThreadPool(
    NUMBER_OF_WORKERS);

for (int i=0; i < NUMBER_OF_WORKERS; i++)
{
  final Worker worker = new BirthWorker(...);
  threadPool.execute(worker);
}

이제 모든 작업자가 작업을 완료 할 때까지 기다리는 코드가 필요합니다.

내가 알고있는 옵션 :

  1. while (!threadPool.isTerminated()) {}
  2. 다음과 같이 코드를 수정하십시오.

    최종 목록 선물 = new ArrayList (NUMBER_OF_WORKERS); final ExecutorService threadPool = Executors.newFixedThreadPool (NUMBER_OF_WORKERS);

    for (int i = 0; i <NUMBER_OF_WORKERS; i ++) {최종 작업자 작업자 = new Worker (...); futures.add (threadPool.submit (작업자)); }

    for (최종 미래 미래 : 미래) {future.get (); }

    // 여기에 도착하면 모든 작업자가 작업을 완료 할 수 있습니다.

모든 작업자가 완료 될 때까지 기다리는 모범 사례는 무엇입니까?

고등학교

생성자에서 대기 할 스레드 수를 지정하고 스레드간에 해당 인스턴스를 공유하고 모든 스레드가 api를 사용하여 완료 될 때까지 기다릴 수있는 CountDownLatch (일회성 활동이라고 가정) 를 사용하는 것이 좋습니다. await시간 초과 또는 전체 차단 사용) 및 스레드의 호출 countdownAPI가 완료되면.

또 다른 옵션은 완료하려는 각 스레드에 액세스 할 수있는 경우 스레드에서 join 메소드 를 호출 하여 완료를 기다리는 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

모든 비동기가 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

파이썬의 멀티 스레딩에서 부모 작업이 완료 될 때까지 작업을 기다리는 방법은 무엇입니까?

분류에서Dev

[asyncio]에서 모든 작업이 완료 될 때까지 누군가 작업의 반환을 즉시 얻는 방법은 무엇입니까?

분류에서Dev

복사 프로세스 (cp)가 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

모든 가져 오기 프로세스가 node.js에서 완료 될 때까지 사후 처리를 강제하는 방법은 무엇입니까?

분류에서Dev

프로그램을 종료하기 전에 동시 ML 스레드가 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

BlockingCollection의 모든 작업이 언제 실행을 완료했는지 알 수있는 방법은 무엇입니까? (작업은 시작될 때 삭제되지만 exec가 완료되었는지 알고 싶습니다)

분류에서Dev

Indy 스레드 풀의 모든 스레드가 완료 될 때까지 기다리려면 어떻게합니까?

분류에서Dev

모든 gitlab 내부 단계가 완료 될 때까지 gitlab 파이프 라인의 외부 단계를 "대기"하는 방법은 무엇입니까?

분류에서Dev

x 양의 스레드를 실행하고 스레드가 완료 될 때까지 기다리는 방법

분류에서Dev

Groovy의 Join ()은 스레드가 완료 될 때까지 기다리지 않습니다.

분류에서Dev

systemd : 서비스 A가 완료 될 때까지 서비스 B를 시작하는 방법은 무엇입니까?

분류에서Dev

모든 스레드가 완료되면 프로그램을 종료하는 방법은 무엇입니까?

분류에서Dev

elasticsearch helpers.reindex가 Python에서 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

Terraform이 cloudinit가 완료 될 때까지 기다리도록하는 방법은 무엇입니까?

분류에서Dev

"onAuthStateChanged"가 "currentUser.updateProfile"이 완료 될 때까지 기다리도록하는 방법은 무엇입니까?

분류에서Dev

계속하기 전에 메서드가 완전히 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

작업자 스레드의 완료를 기다리는 방법은 무엇입니까?

분류에서Dev

node.js : 모든 스레드가 완료 될 때까지 기다립니다.

분류에서Dev

약속의 모든 코드가 해결되기 전에 완료되기를 기다리는 방법은 무엇입니까? (하지만 조금 더 복잡함)

분류에서Dev

여러 GET 요청을 만들고 모든 작업이 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

DotNetBrowser에서 인쇄하기 전에 녹아웃 페이지로드가 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

모든 스레드가 완료 될 때까지 메인이 대기하도록하는 방법

분류에서Dev

Google지도 길 찾기 서비스, 모든 요청이 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

Apple Combine 프레임 워크 : 여러 게시자를 병렬로 실행하고 모두 완료 될 때까지 기다리는 방법은 무엇입니까?

분류에서Dev

스레드를 기다리는 가장 좋은 방법은 무엇입니까?

분류에서Dev

모든 페이지가로드 될 때까지 기다렸다가 해당 페이지의 요소를 얻는 방법은 무엇입니까?

분류에서Dev

Azure DevOps Pipeline이 외부 프로세스가 완료 될 때까지 기다리도록하는 방법은 무엇입니까?

분류에서Dev

c에서 스레드가 다른 스레드가 완료 될 때까지 기다리는 방법

Related 관련 기사

  1. 1

    모든 비동기가 완료 될 때까지 기다리는 방법은 무엇입니까?

  2. 2

    파이썬의 멀티 스레딩에서 부모 작업이 완료 될 때까지 작업을 기다리는 방법은 무엇입니까?

  3. 3

    [asyncio]에서 모든 작업이 완료 될 때까지 누군가 작업의 반환을 즉시 얻는 방법은 무엇입니까?

  4. 4

    복사 프로세스 (cp)가 완료 될 때까지 기다리는 방법은 무엇입니까?

  5. 5

    모든 가져 오기 프로세스가 node.js에서 완료 될 때까지 사후 처리를 강제하는 방법은 무엇입니까?

  6. 6

    프로그램을 종료하기 전에 동시 ML 스레드가 완료 될 때까지 기다리는 방법은 무엇입니까?

  7. 7

    BlockingCollection의 모든 작업이 언제 실행을 완료했는지 알 수있는 방법은 무엇입니까? (작업은 시작될 때 삭제되지만 exec가 완료되었는지 알고 싶습니다)

  8. 8

    Indy 스레드 풀의 모든 스레드가 완료 될 때까지 기다리려면 어떻게합니까?

  9. 9

    모든 gitlab 내부 단계가 완료 될 때까지 gitlab 파이프 라인의 외부 단계를 "대기"하는 방법은 무엇입니까?

  10. 10

    x 양의 스레드를 실행하고 스레드가 완료 될 때까지 기다리는 방법

  11. 11

    Groovy의 Join ()은 스레드가 완료 될 때까지 기다리지 않습니다.

  12. 12

    systemd : 서비스 A가 완료 될 때까지 서비스 B를 시작하는 방법은 무엇입니까?

  13. 13

    모든 스레드가 완료되면 프로그램을 종료하는 방법은 무엇입니까?

  14. 14

    elasticsearch helpers.reindex가 Python에서 완료 될 때까지 기다리는 방법은 무엇입니까?

  15. 15

    Terraform이 cloudinit가 완료 될 때까지 기다리도록하는 방법은 무엇입니까?

  16. 16

    "onAuthStateChanged"가 "currentUser.updateProfile"이 완료 될 때까지 기다리도록하는 방법은 무엇입니까?

  17. 17

    계속하기 전에 메서드가 완전히 완료 될 때까지 기다리는 방법은 무엇입니까?

  18. 18

    작업자 스레드의 완료를 기다리는 방법은 무엇입니까?

  19. 19

    node.js : 모든 스레드가 완료 될 때까지 기다립니다.

  20. 20

    약속의 모든 코드가 해결되기 전에 완료되기를 기다리는 방법은 무엇입니까? (하지만 조금 더 복잡함)

  21. 21

    여러 GET 요청을 만들고 모든 작업이 완료 될 때까지 기다리는 방법은 무엇입니까?

  22. 22

    DotNetBrowser에서 인쇄하기 전에 녹아웃 페이지로드가 완료 될 때까지 기다리는 방법은 무엇입니까?

  23. 23

    모든 스레드가 완료 될 때까지 메인이 대기하도록하는 방법

  24. 24

    Google지도 길 찾기 서비스, 모든 요청이 완료 될 때까지 기다리는 방법은 무엇입니까?

  25. 25

    Apple Combine 프레임 워크 : 여러 게시자를 병렬로 실행하고 모두 완료 될 때까지 기다리는 방법은 무엇입니까?

  26. 26

    스레드를 기다리는 가장 좋은 방법은 무엇입니까?

  27. 27

    모든 페이지가로드 될 때까지 기다렸다가 해당 페이지의 요소를 얻는 방법은 무엇입니까?

  28. 28

    Azure DevOps Pipeline이 외부 프로세스가 완료 될 때까지 기다리도록하는 방법은 무엇입니까?

  29. 29

    c에서 스레드가 다른 스레드가 완료 될 때까지 기다리는 방법

뜨겁다태그

보관