프로그램

PHP 에서 sleep() 을 쓰면, 서버가 통채로 멈출까?

(주)CKBcorp., 2014. 4. 2. 07:00
반응형


글쎄, 바보같은 질문이라고 생각하고 넘어가는 사람이 있을수도 있겠지만...
만에 하나 진짜로 멈추면 어째? PHP 는 Single Threading 이라구.

그래서, 실험해 봤다.


<?php

sleep(10);
echo ' STOP 10sec';

?>


코드를 이렇게 해 놓고, 한 컴퓨터에서 브라우저 여러개 띄워서 접속하면 어케될까?

1. 처음에는 하나의 컴퓨터에서, 같은 브라우저를 셋 띄워놓고, 주소를 입력한 후에 동시에 접속하게 ( = 주소창에서 엔터 ) 하니까 

브라우저 1이 10초 후에 메시지가 나오고
브라우저 2가 그로부터 또 10초 후에 메시지가 나오고
브라우저 3이 그로부터 또 10초 후에 메시지.
즉 . 총 30초가 걸린거다.

충격... 



뭐야이거. PHP 쓰레딩 안된다더디니. 진짜 쓰레기네? 이래서 어찌 쓰지?

그러다가... 혹시나 해서 이번엔 각각 브라우저를 다르게 시험해봄. 즉.

2. 하나의 컴퓨터에서 테스트하되, 
브라우저1 은 Chrome, 2는 IE, 3은 FireFox

결과는, 실행 후 10초에 모든 브라우저의 페이지가 동시 갱신되었다.



정리 : PHP 에서 sleep() 을 쓰면, 그 SLEEP() 은 Session 단위로 영향을 미친다.

이상 끝.


 


반응형