복붙노트

PHP 멀티 쓰레딩

PHP

PHP 멀티 쓰레딩

저는 개인적으로 PHP에서 멀티 쓰레딩이 필요하다고 보는 입장은 아닙니다만, 혹시 몰라서 적어둡니다.
물론 file_get_contents 나 파일 IO 관련 작업 등 PHP 자체의 작업이 아니라 외부에 접근한다던가 파일 시스템에 접근한다던가 하는 작업들은 이러한 비동기 구문을 쓰는 것도 괜찮습니다.

class AsyncOperation extends Thread {  

public function __construct($arg) {  
$this->arg = $arg;  
}  

public function run() {  
if ($this->arg) {  
$sleep = mt_rand(1, 10);  
printf('%s: %s  -start -sleeps %d' . "\n", date("g:i:sa"), $this->arg, $sleep);  
sleep($sleep);  
printf('%s: %s  -finish' . "\n", date("g:i:sa"), $this->arg);  
}  
}  
}  
$stack = array();  
foreach ( range("A", "D") as $i ) {  
$stack[] = new AsyncOperation($i);  
}  

// 쓰레드 시작  
foreach ( $stack as $t ) {  
$t->start();  
}  


'PHP' 카테고리의 다른 글

PHP 랜덤 문자열 만들기  (0) 2017.11.28
PHP에서 self와 this의 차이  (0) 2017.11.27
PHP에서 다음 페이지로 변수값 넘기기  (0) 2017.11.26
PHP로 유튜브 썸네일 가져오기  (0) 2017.11.26
PHP 배열 요소 삭제하기  (0) 2017.11.25