주요 콘텐츠

비동기 병렬 프로그래밍

parfeval을 사용하여 백그라운드에서 함수 실행

parfeval을 사용하면 함수 실행이 완료될 때까지 기다릴 필요 없이 백그라운드에서 함수를 실행할 수 있습니다. for 루프에서 일찍 빠져나오는 것이 편리한 경우가 많습니다. 예를 들어, 최적화 절차에서 결과가 괜찮다면 사용자는 루프를 일찍 중지할 수 있습니다. parfeval 또는 parfevalOnAll을 사용하여 하나 또는 모든 병렬 풀 워커에서 이와 같이 할 수 있습니다. 이 방법은 중간 결과를 플로팅하려는 경우에 유용할 수 있습니다. 루프가 완료될 때까지 기다려야 하는 parfor를 사용하는 것과 달리 parfeval 또는 parfevalOnAll을 사용하는 것은 기다릴 필요가 없습니다.

데이터 대기열을 사용하여 다른 워커의 메시지나 데이터를 전송하고 폴링하려면 sendpoll을 함께 사용하십시오. afterEach를 사용하면 데이터 대기열에서 새 데이터를 받을 때 호출할 함수를 추가할 수 있습니다.

Future 배열의 각 요소 또는 모든 요소가 완료된 후 함수를 자동으로 호출하려면 afterEachafterAll을 사용하십시오. 이 배열은 parfeval, parfevalOnAll, afterEach 또는 afterAll에서 반환되는 Future 객체를 포함할 수 있습니다.

함수

모두 확장

parfeval병렬 풀 워커에서 함수 실행
parfevalOnAll병렬 풀의 모든 워커에서 비동기식으로 함수 실행
FutureFunction scheduled to run
afterEachRun function after each function finishes running in the background
afterAllRun function after all functions finish running in the background
fetchOutputsRetrieve results from function running in the background
fetchNextRetrieve next unread outputs from Future array
cancelStop function running in the background
cancelAll모든 작업 또는 태스크 취소 (R2022a 이후)
waitFuture 객체가 완료될 때까지 대기
parallel.Pool워커의 병렬 풀
send데이터 대기열을 사용하여 클라이언트와 워커 간에 데이터 전송
poll Retrieve data sent to pollable data queue
closeClose pollable data queue (R2025a 이후)
parallel.pool.DataQueue클라이언트와 워커 간에 데이터 전송 및 수신 대기
parallel.pool.PollableDataQueue Send and poll data between client and workers
afterEach데이터 대기열에서 새 데이터를 받을 때 호출할 함수를 정의합니다.
ticBytes병렬 풀 내에서 전송된 바이트 수 계산 시작
tocBytesRead how many bytes have been transferred since calling ticBytes

도움말 항목

비동기 병렬 프로그래밍 시작하기

응용 사례

추천 예제