當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Worker::start方法代碼示例

本文整理匯總了PHP中Worker::start方法的典型用法代碼示例。如果您正苦於以下問題:PHP Worker::start方法的具體用法?PHP Worker::start怎麽用?PHP Worker::start使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Worker的用法示例。


在下文中一共展示了Worker::start方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: start

 public function start($options = PTHREADS_INHERIT_ALL)
 {
     ThreadManager::getInstance()->add($this);
     if (!$this->isRunning() and !$this->isJoined() and !$this->isTerminated() and !$this->isShutdown()) {
         return parent::start($options);
     }
     return false;
 }
開發者ID:hlogeon,項目名稱:PocketMineJs-MP,代碼行數:8,代碼來源:Worker.php

示例2: start

 public function start(int $options = PTHREADS_INHERIT_ALL)
 {
     ThreadManager::getInstance()->add($this);
     if (!$this->isRunning() and !$this->isJoined() and !$this->isTerminated()) {
         if ($this->getClassLoader() === null) {
             $this->setClassLoader();
         }
         return parent::start($options);
     }
     return false;
 }
開發者ID:xxFlare,項目名稱:PocketMine-MP,代碼行數:11,代碼來源:Worker.php

示例3: testWorkerGc

 public function testWorkerGc()
 {
     $worker = new Worker();
     $work = new WorkerTestWork();
     $worker->start();
     $worker->stack($work);
     $worker->shutdown();
     $this->assertEquals(1, $worker->collect(function ($task) {
         return false;
     }));
     $this->assertEquals(0, $worker->collect(function ($task) {
         return $task->isGarbage();
     }));
 }
開發者ID:krakjoe,項目名稱:pthreads-polyfill,代碼行數:14,代碼來源:WorkerTest.php

示例4: startWorkers

 private function startWorkers()
 {
     $wrapper = realpath(__DIR__ . '/../../../../bin/phpunit-wrapper');
     for ($i = 1; $i <= $this->options->processes; $i++) {
         $worker = new Worker();
         if ($this->options->noTestTokens) {
             $token = null;
         } else {
             $token = $i;
         }
         $worker->start($wrapper, $token);
         $this->streams[] = $worker->stdout();
         $this->workers[] = $worker;
     }
 }
開發者ID:jrijnaars,項目名稱:PHP-project,代碼行數:15,代碼來源:WrapperRunner.php

示例5: testWorkerGc

 public function testWorkerGc()
 {
     $worker = new Worker();
     $work = new WorkerTestWork();
     $worker->start();
     $worker->stack($work);
     $work->synchronized(function ($work) {
         if (!$work->isGarbage()) {
             $work->wait();
         }
     }, $work);
     $this->assertEquals($worker->collect(function ($task) {
         return false;
     }), 1);
     $this->assertEquals($worker->collect(function ($task) {
         return $task->isGarbage();
     }), 0);
 }
開發者ID:stof,項目名稱:pthreads-polyfill,代碼行數:18,代碼來源:WorkerTest.php

示例6: microtime

    $np = 0;
    for ($i = 0; $i <= $n; $i++) {
        $x = lcg_value() * 2 - 1;
        $y = lcg_value() * 2 - 1;
        if ($x ** 2 + $y ** 2 <= 1) {
            $np++;
        }
    }
    return $np;
};
/* make call in background thread */
$argv = [$interation / $threads];
$time_start = microtime(true);
$np_result = 0;
// Initialize and start the threads
$worker = new Worker();
$work = array();
$o = 0;
while (++$o < $threads) {
    /* items stacked could be using resources available in worker */
    $work[] = new ParallelThread($closure, $argv);
}
foreach ($work as $w) {
    $worker->stack($w);
}
$worker->start();
//$pi = 4 * $np_result / ($argv[0]*($threads));
//echo $np_result."<br>";
//echo $pi."<br>";
echo microtime(true) - $time_start;
$worker->shutdown();
開發者ID:alexeylatypov,項目名稱:pi,代碼行數:31,代碼來源:index.php

示例7: start

 public function start(int $options = PTHREADS_INHERIT_ALL)
 {
     return parent::start(PTHREADS_INHERIT_NONE);
 }
開發者ID:krakjoe,項目名稱:pthreads-autoloading-composer,代碼行數:4,代碼來源:Autoloader.php

示例8: start

 public final function start($options = PTHREADS_INHERIT_ALL)
 {
     ThreadManager::getInstance()->add($this);
     return parent::start($options);
 }
開發者ID:boybook,項目名稱:PocketMine-MP,代碼行數:5,代碼來源:Worker.php

示例9: start

 public function start()
 {
     return parent::start(PTHREADS_INHERIT_NONE);
 }
開發者ID:CriztianiX,項目名稱:couchbase-etl,代碼行數:4,代碼來源:Worker.php

示例10: start

 /**
  * Start the worker
  * @param type $options
  * @return type
  */
 public function start($options = null)
 {
     return parent::start($this->inheritance);
 }
開發者ID:devmastersbv,項目名稱:pthreads,代碼行數:9,代碼來源:Worker.php


注:本文中的Worker::start方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。