Thread of execution (proses paralel)

Thread (singkatan dari "thread of execution") dalam ilmu komputer, diartikan sebagai sekumpulan perintah (instruksi) yang dapat dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya. [wiki]

contoh sederhana kita ingin melakukan ping ke beberapa situs sekaligus.

perhatikan contoh sederhana:
Code:
system("ping Site-A");
system("ping Site-B");
berarti Site-B di ping setelah ping ke site-A selesai. 

sedang klw di Thread ini dilakukan serentak. bersamaan sehingga memangkas waktu yg lebih singkat tetapi membutuhkan memory yg lebih besar. Teknik ini sangat dibutuhkan untuk membuat bruteforce, dos, yg membutuhkan multi tasking dsb,,,

langsung saya ini contoh code-nya
PHP Code:
<?php/**
 * @author BlueBoyz
 * @copyright ExploreCrew.Org 2012
 */
class thread{
    var 
$name null;
    var 
$resource null;
    var 
$error null;
    var 
$pipes = array();
    var 
$run false;
    function 
thread($cmd null$name null)
    {
        
$desc = array(
            
=> array("pipe""r"),
            
=> array("pipe""w"),
            
=> array("pipe""w")
        );
        
$pipes = array();
        if (!empty(
$cmd)):$this->name $name;
  
        try
        {
            
$this->resource proc_open($cmd$desc$this->pipesnull$_ENV);
            
$this->run true;

        }
        catch (
exception $error)
        {
            
$this->run false;
            
$this->error $error->getMessage();
        }
  
        endif;
    }
    public function 
string()
    {
        if (
is_resource($this->resource) && !empty($this->pipes))
        {
            
$stdout = (isset($this->pipes['1'])) ? $this->pipes['1'] : null;
            return 
stream_get_contents($stdout);
        }
        else
        {
            return 
null;
        }
    }
}
$ping "C:\\Windows\\System32\\ping.exe 192.168.1.222";$a = new thread($ping,null);
 
//echo $a->string();$b = new thread($ping,null); //echo $b->string();?>

Namun Thread ini gagal ketika saya mencoba untuk meng echo nya. jadi untuk melihat hasil bisa dengan melakukan fwrite ke file temp. kemudian di read lagi. 
ada jg yg make pcntl_exec/fork sih tp saya gak pake linux, ketawa PCNTL gk support di windows. :(


./Happy Coding

Source : http://devilzc0de.org/forum/thread-17279.html
Reply Post
 
© Copyrigt 2012 | Design by YingZuckerberg | Powered by Blogger.com.