1

PHPでの共有メモリの実装に問題があります。共有メモリにキューを作成することは可能ですか?

コードはここにあります:

// queue class
class AddressQueue extends \Nette\Object {

private $queue = array();

public function add($var) {
    $this->queue[] = $var;
}

public function get() {
    return array_shift($this->queue);
}

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

$segmentKey = "987654";
$permissions = 0666;
$size = 8092;
$sharedSegment = shm_attach($segmentKey, $size, $permissions);

shm_put_var($sharedSegment, QUEUE_INDEX, new AddressQueue());

...この時点で、アイテム(intまたは非常に短い文字列)をキューに追加するにはどうすればよいですか?それも可能ですか?

4

1 に答える 1

1

を使用して元に戻すこともできますが、それを行う意味はありません。次のようshm_get_var()に使用する前に追加してください。shm_put_var()

$addrQueue = new AddressQueue();
$addrQueue->add('whatever');
shm_put_var($sharedSegment, QUEUE_INDEX, $addrQueue);
于 2012-09-27T13:38:58.960 に答える