PHP Classes

File: data_sharing_with_mutex_locks.php

Recommend this page to a friend!
  Classes of Cuthbert Martin Lwinga   PHP Threading   data_sharing_with_mutex_locks.php   Download  
File: data_sharing_with_mutex_locks.php
Role: Auxiliary script
Content type: text/plain
Description: Configuration script
Class: PHP Threading
Run parallel tasks that share PHP variables
Author: By
Last change:
Date: 16 days ago
Size: 681 bytes
 

Contents

Class file image Download
<?php
include_once("ThreadManager.php");
ThreadManager::warmUp($processes = 2); // will create 20 threads and keep them active
ThreadManager::var("x",0);
for(
$i = 0;$i < 2; $i++){
   
ThreadManager::execute(function ($x) {
       
ThreadManager::acquireLock();
       
$currentX = ThreadManager::getVar("x",$acquire_sem_lock = false);
       
ThreadManager::var("x", $currentX + 1,$acquire_sem_lock = false);
        echo
"PID:: ".getmypid()." of x = ".ThreadManager::getVar("x",$acquire_sem_lock = false)."\n";
       
ThreadManager::releaseLock();
        return
ThreadManager::getVar("x",$acquire_sem_lock = false);
    });
}
ThreadManager::wait();

var_dump(ThreadManager::getOutput());

ThreadManager::shutdown();
?>