In der Verwendung von php Shared Memory und Semaphoren. Wie kann ich zuerst überprüfen, dass der Schlüssel für den Semaphor und den geteilten Speicherblock nicht mit anderen Instanzen von PHP kollidiert? Kann man bei Verwendung der Funktion shm_attach zum Erstellen eines neuen Blocks feststellen, ob der Block bereits existiert?php Shared Memory und Semaphor, vermeiden Schlüsselkollision
Antwort
Ich verstehe nicht wirklich, was Sie hier fragen. Der ganze Punkt des Shared Memory ist, dass es shared ist - so in der Lage, den gleichen Schlüssel in verschiedenen Instanzen von PHP zu verwenden, ist so ziemlich eine Anforderung.
In der Regel verwenden Benutzer Dateisystempfade (semantisch sinnvoll), um Schlüssel (nicht sinnvoll) über die Funktion ftok() zu generieren. Wenn Sie einen zufälligen Schlüssel generieren möchten, der von keiner anderen PHP-Instanz gemeinsam genutzt wird, verwenden Sie tempnam(), um eine neue Datei zu erstellen, und fügen Sie sie dann ein.
Wenn Sie die Funktion shm_attach verwenden, um einen neuen Block zu erstellen, gibt es eine Möglichkeit zu überprüfen, ob der Block bereits existiert?
Ja - fügen Sie etwas ein, nachdem Sie es erstellt haben. Wenn es zwischen diesen 2 Schritten leer war, dann ist es neu.
- 1. Boost :: Asio, Shared Memory und Interprozesskommunikation
- 2. Re: Shared Memory und Semaphore
- 3. openmp und Shared Memory Definition
- 4. Java und C++ Shared Memory
- 5. Boost, Shared Memory und Vektoren
- 6. Visual Studio und Shared Memory
- 7. Zugriffskontrolle auf shared memory
- 8. Shared Memory im Multiprocessing
- 9. Boost Shared Memory verwenden
- 10. Postgresql Shared Memory Einstellungen
- 11. Unterschied zwischen Nachrichtenwarteschlange und Shared Memory?
- 12. Boost-Inter: Shared Memory und stl Typen
- 13. C++: OpenMP shared memory protection
- 14. C shared memory using fork()
- 15. Verwaltung von Unix Shared Memory
- 16. Jetson Tegra TX1 Shared Memory
- 17. ABAP: shared memory objects synchronization
- 18. Shared Memory Beispiel für Symbian
- 19. verteilten Shared Memory oder nicht?
- 20. Linux Shared Memory Segmentation Fault
- 21. Distributed Shared Memory in .NET
- 22. schreibe in shared memory Segmentierungsfehler
- 23. PHP gelesen Shared Memory binäre Daten (uint32 x = shmop_read (...))
- 24. PHP-Semaphor funktioniert nicht
- 25. Probleme mit Boost: Interprozess Shared Memory
- 26. Was bedeutet "shared memory zone" in nginx?
- 27. cuda sprintf global/Shared-Memory-Puffer
- 28. Verteilte Shared Memory-Bibliothek für C++?
- 29. Shared Memory-Segment mit Shmctl löschen
- 30. Benannte Shared Memory Windows API C++