>  기사  >  백엔드 개발  >  PHP에서 멀티스레딩을 구현하는 방법

PHP에서 멀티스레딩을 구현하는 방법

不言
不言원래의
2019-01-25 14:18:0731750검색

멀티스레딩은 PHP에서 구현될 수 있습니다. exec 함수는 비동기 처리를 통해 멀티스레딩을 달성하기 위해 사용됩니다. PHP 멀티스레딩을 구현하는 방법을 자세히 살펴보겠습니다.

추천 매뉴얼: PHP에서 멀티스레딩을 구현하는 방법 완전 자율 학습 매뉴얼

PHP에서 멀티스레딩을 구현하는 방법

먼저 예제를 살펴보겠습니다

<?PHP에서 멀티스레딩을 구현하는 방법
 
class execMulti {
    function MultithreadTest {
        exec("PHP에서 멀티스레딩을 구현하는 방법 static_massive.PHP에서 멀티스레딩을 구현하는 방법 > /dev/null &");
 
        echo "处理完成了";
    }
}
?>

위 작업을 수행하면 시간이 많이 걸리는 처리가 끝나기도 전에 처리 완료가 표시됩니다. .

exec("PHP에서 멀티스레딩을 구현하는 방법 static_massive.PHP에서 멀티스레딩을 구현하는 방법 > /dev/null &");

">/dev/null&"에서 반환된 값이 누락되었으므로 응답을 기다리지 않습니다.

그래서 시간이 많이 걸리는 처리보다 처리 완료 표시가 더 빠릅니다.

그러나 이 방법은 시간이 많이 걸리는 처리가 언제 끝날지 알 수 없습니다.

실행 결과를 사용자에게 전달하기 위해서는 로그 실행, DB 로그인 등의 방법을 활용하는 것도 잊지 마세요.

멀티스레딩(pthreads) 방법

마지막으로 PHP 확장 모듈 pthreads를 사용하는 방법이 소개됩니다.

exec를 사용하면 위의 방법보다 더 간단할 수 있습니다.

①환경 구성 및 PHP에서 멀티스레딩을 구현하는 방법 설치

방랑자 등을 이용하여 원하는 환경을 준비해주세요.

PHP에서 멀티스레딩을 구현하는 방법는 다중 스레드 및 안전한 구현인 스레드 안전 버전을 사용해야 합니다.

공식 웹사이트에서 스레드 안전 버전의 PHP를 다운로드하세요.

아래 콘텐츠에 접속하여 이미지 속 빨간색 박스에서 다운로드 받으세요.

http://www.PHP에서 멀티스레딩을 구현하는 방법.net/downloads.PHP에서 멀티스레딩을 구현하는 방법

PHP에서 멀티스레딩을 구현하는 방법

또한 스레드로부터 안전한 설치를 위해서는 구성 옵션을 사용하여 -enable-maintainer-zts를 지정해야 합니다.

./configure --enable-maintainer-zts

필요에 따라 Apache 및 mysql 옵션을 설치할 수도 있습니다.

다음 명령으로 PHP 버전을 확인하세요.

PHP에서 멀티스레딩을 구현하는 방법 -v

②pthreads 설치

zip 형식으로 다운로드해 봅시다.

https://github.com/krakjoe/pthreads/archive/master.zip

zip을 풀고 압축을 푼 파일로 이동하여 PHP에서 멀티스레딩을 구현하는 방법ize를 실행합니다.

PHP 모듈 목록에서 pthreads를 실행하면 다음을 수행할 수 있습니다.

PHP에서 멀티스레딩을 구현하는 방법 -m

환경에 따라 이 영역의 설정이 다를 수 있습니다. 환경 이름 + pthread를 사용하여 검색하면 정보를 찾을 수 있습니다.

3 멀티스레딩을 사용해 보세요

예제는 다음과 같습니다

<?PHP에서 멀티스레딩을 구현하는 방법
class pthreadsTest extends Thread {
    public function run () {
        sleep(5);
    }
}
$ts1 = new pthreadsTest();
$ts1->start(); 
$ts2 = new pthreadsTest();
$ts2->start(); 
?>

sleep(5)를 두 번 호출하기 때문에 10초가 걸리지만 실제로는 5초가 걸립니다.

추천 관련 기사:
1.PHP에서 멀티스레딩을 구현하는 방법
2.PHP에서 멀티스레딩을 구현하는 세 가지 방법 ​​
관련 영상 추천:
1.Dugu Jiujian (4)_PHP 영상 튜토리얼

위 내용은 PHP에서 멀티스레딩을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.