2016-01-12 71 views
-2
<?php 
$count=0; 

class My extends Thread 
{ 
    private $myid; 

    // ini_set('max_execution_time', 0); 
    //echo date("Y-m-d H:i:s")."<br/>"; 

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

    public function run() 
    { 

    for($t=0;$j+$t<=100;$t+=10){ //future buy 
     for($k=0;$j+$t+$k<=100;$k+=10){//future sell 
      for($l=1;$l<=14;$l++){ // strike 
       for($m=0;$j+$k+$m<=300;$m+=10){ //put buy 
        for($n=1;$n<=14;$n++){ // strike 
         for($o=0;$o<=300;$o+=10){ // call buy 
          for($p=1;$p<=14;$p++){ //strike 
           if($p==$l) 
            continue;        
           for($q=0;$q<=300;$q+=10){ // put sell 
            for($r=1;$r<=14;$r++){ // strike 
             if($r==$n) 
              continue; 
             for($s=0;$s<=300;$s+=10){ // call buy 
              $count ++; 
             } 
            } 
           } 
          } 
         }     
        } 
       } 
      } 
      } 
     } 
    } 

} 
echo date("Y-m-d H:i:s")."<br/>"; 

    $mycalls = []; 
    for($i=0;$i<=100;$i+=10) 
    { 
     $mycalls[$i]= new My($i); 
     $mycalls[$i]->start(); 
     $mycalls[$i]->join(); 
    } 

    echo date("Y-m-d H:i:s")."<br/>"; 
    echo "<br>"; 
    echo $count; 


?> 

回答

0

叫我的类的run方法。它应该是返回$ count或echo $ count。

+0

让我看看......谢谢 –

0

不知道我完全明白你的意思是“如何让计数变量的输出”,但我看到了一些问题可能会出现在那里。

1)$计数是一个全局变量,而不是一个类或方法的变量,它menas,简单地加上1而在第run方法计数不会做类定义之外在$计数的任何变化。

2)我没有看到运行方法,更新$计数(尽管它是外面类)变量称为任何地方。

3)即使run方法被称为地方,你必须在运行方法的开始添加一行全球$计数。

4)我建议你在内部存储$计数类并用的功能,这将意味着该类看起来像这样寄回:

Class My extends Thread{ 
    protected $count = 0; 
    public function run(){ 
     //... 
     $this -> count++; 
     //... 
    } 

    public function getCount(){ 
     return $this -> count(); 
    } 
} 

然后得到的计数值类的实例:

$myInstance = new My(); 
$myInstance -> run(); 
$someCount = $myInstance -> getCount(); 

由于正在创建我的101种情况下的事实,代码会是这个样子:

$mycalls = []; 
$count = 0; 
for($i=0;$i<=100;$i+=10) 
{ 
    $mycalls[$i]= new My($i); 
    $mycalls[$i]->start(); 
    $mycalls[$i]->join(); 
    $count += $mycalls[$i] -> getCount(); 
} 
echo $count; 
+0

在这个程序中是否有任何构造函数的需要? –