나는 10 번 실행해야하는 기능이 my_function()
입니다. 현재 10 개의 모든 기능이 동시에 (비동기식으로) 실행 중입니다. 이전 함수가 완료된 후에 함수의 다음 실행이 어떻게 발생할 수 있습니까?이전 기능 실행 후 기능 실행
my_function
은 CURL
데이터베이스 테이블에 대한 호출 및 읽기/쓰기를 포함합니다. 이 중 카운터 검사와 함께, 당신은 while 루프를 사용하여 인수 내에서 함수를 호출 할 수있는 비동기
$repetitions = 10;
for($i = 0; $i < $repetitions; $i++) {
my_function($param);
}
왜 비동기식으로 실행한다고 생각합니까? –
함수는 먼저 테이블에서 CURL을 통해 방문하지 않은 행을 찾아 URL을 가져와 CURL에 넣은 다음 해당 행의 열을 * visited *로 업데이트합니다. 그러나 내가 원래 게시물에 표시된대로 그것을 수행하면 동일한 행이 10 번 읽습니다. 이것은 CURL이 * 방문하지 않은 상태 *가 방문한 * 상태로 업데이트 될 수 있기 전에 CURL이 10 번 실행되었음을 의미합니다. – Nyxynyx
함수가 비동기로 실행되고있는 것처럼 보입니다. 함수 자체가 실제로 원자 적으로 작성 되었습니까? – ernie