shmop を使用して PHP で作成された共有メモリ (それが重要な場合は shm ではない) をロックおよびロック解除するにはどうすればよいですか? これにはライブラリが必要ですか?
値の読み取りには古い値と新しい値の一部が含まれているため、shmop_write() がまだ書き込みを行っている間に shmop_read() が実行されているようです。
shmop を使用して PHP で作成された共有メモリ (それが重要な場合は shm ではない) をロックおよびロック解除するにはどうすればよいですか? これにはライブラリが必要ですか?
値の読み取りには古い値と新しい値の一部が含まれているため、shmop_write() がまだ書き込みを行っている間に shmop_read() が実行されているようです。
sem_acquire
を使用して、sem_release
アトミック操作を行うことをお勧めします。
PHP での共有メモリのロックに関する情報を見つけました。
このページで、ユーザーは「(...) mmcache のシステム メモリ機能を非常にうまく使用したと主張しています。それらはすべての困難なものを抽象化します。」(リンク)
また、Turck MMCache のページには次のように記載されています。 - 新しい API 関数 mmcache_lock および mmcache_unlock が実装されました。
Php5 をサポートする必要があります。たぶん、ここから始めることができます...