PHP에서 다중 프로세스 및 다중 태스킹을 구현하는 코드 예
풀어 주다: 2016-07-25 08:58:35
-
-
/** - *基于PHP5实现
- *借助proc_open
- *能启动多进程,你可以使用你的想象力做你想做的了
- *如果你是在linux上跑php,并且启用pcntl模块后,使用pcntl函数该更好
- *最后修改:by bbs.it-home.org 2013/6/20
- **/
- error_reporting(E_ALL);
- set_time_limit(0);
class Thread {
- protected $_pref; // process reference
- protected static $_instance = null;
- protected $_pipes;
private function __construct() {
- $this->_pref = 0;
- }
public static function getInstance($file) {
- if (null == self::$_instance) {
- self::$_instance = new self;
- }
$descriptor = array(
- 0 => array("pipe", "r"),
- 1 => array("pipe", "w"),
- 2 => array("file", "./error-output.txt", "a"),
- );
- self::$_instance->_pref = proc_open("php -q $file", $descriptor, self::$_instance->_pipes);
- return true;
- }
public function __destruct() {
- proc_close($this->_pref);
- $this->_pref = null;
- }
- ?>
-
复制代码
|
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31