Mehrere Benutzer-Space-Prozesse können auf diesen Wert zur gleichen Zeit zugreifen, also denke ich, wir sollten einige Sperren oder Speicherbarriere Dinge für die Sicherheit verwenden, aber ich könnte ziemlich viel Code in Linux-Treiber finden, wer nicht, oder nur den Schreibfall zu schützen . Brauchen wir wirklich einen Mutex für beide Schreib- und Schreibfälle?Benötige ich einen Mutex, um einen int-Wert zu schützen, der über sysfs abgerufen/gesetzt werden kann?
0
A
Antwort
0
Es hängt von der CPU und dem System ab, dass der Code ausgeführt wird. Tatsächlich können Sie dies ohne Synchronisationstechniken tun, wenn die Operation atomic ist. Solange Sie sich nicht sicher sind, ist es besser, ein Synchronisationsobjekt zu verwenden. Für int/dword-Werte tun die meisten Leute das ohne sych-Objekt.
Lesen Sie diesen Artikel http://preshing.com/20130618/atomic-vs-non-atomic-operations/
und auch ein gleiches Problem Are C++ Reads and Writes of an int Atomic?
+0
Danke für deine Erklärung und deine Links :-) –
Verwandte Themen
- 1. Benötige ich einen Mutex für eine statische Funktion?
- 2. Benötige ich einen Puffer?
- 3. Um Mutex oder nicht zu Mutex?
- 4. Benötige ich einen htaccess, um dieses Modul benutzen zu können?
- 5. Benötige ich einen Mutex, wenn ich eine Kopie der Variablen anstelle eines Zeigers zurückgebe?
- 6. Benötige ich einen Angularfire2-Authentifizierungsdienst?
- 7. Warum verwendet Apache MPM prefork.c einen Mutex, um accept() zu schützen?
- 8. Wie kann ich einen System Mutex in C# erstellen
- 9. Benötige ich ein Azure Storage-Konto, um einen WebJob auszuführen?
- 10. Wie kann ich einen API-Endpunkt mit PassportJS schützen?
- 11. Wie erstellt man einen Mutex auf Klassenebene, der über Prozess
- 12. Erstelle einen Taschenrechner, benötige Text, um rot zu werden, wenn der Wert negativ ist.
- 13. Eingebauter Weg, um eine Zeichenkette für einen Dateinamen zu schützen
- 14. Wie kann ich einen Smart Pointer erstellen, der einen Mutex sperrt und entsperrt?
- 15. Warum benötigt ein Mutex keinen Mutex (und dieser Mutex braucht einen Mutex ...)
- 16. Benötige ich einen Knotenserver in der Produktion, um die Async-Komponente von angular 2 zu laden?
- 17. Wie kann ich einen Mutex in einer Initialisierungsliste sperren?
- 18. Python-Semaphore: Ich benötige einen negativen Anfangswert
- 19. Benötige ich einen Null-Check für HttpRequest.Files?
- 20. Kann ich einen Winkelregler verwenden, um einen anderen zu ändern?
- 21. Benötige ich einen Anwendungsserver für Java WebSocketServer
- 22. Benötige ich dafür einen neuen Controller?
- 23. Benötige ich einen Docker, um Kubernetes in der Produktion zu betreiben?
- 24. benötigt eine Getterfunktion einen Mutex?
- 25. Benötige ich einen Autorespulepoolblock innerhalb einer DispatchQueue.main.async
- 26. Benötige ich einen lokalen Host-Server, um einen Web-Service aufzurufen
- 27. Was benötige ich im Backend um einen Ajax-Anruf zu tätigen?
- 28. Posix: Wie initialisiere ich einen Mutex im gesperrten Zustand?
- 29. Erstellt std :: mutex einen Zaun?
- 30. Benötige ich eine Apex-Klasse oder nur einen Trigger, um ein Suchfeld in Salesforce zu aktualisieren?
Sie verwenden shm? (Shared Memory Segment) – rak007
Nicht wirklich. Mein Fall ist zum Beispiel, ich habe ein rw Register "REG", und im Treiber habe ich seinen Wert mit "int reg" zwischengespeichert, dann erstelle ich eine sysfs Datei, sagen wir, "/sys/.../reg". Wenn der Benutzer einen int-Wert an "/sys/.../reg" abgibt, wird dieser Wert in REG geschrieben und in "int reg" zwischengespeichert; Wenn der Benutzer cat "/sys/.../reg" verwendet, gibt der Treiber dem Benutzer einfach "int reg". Meine Frage ist, muss ich einen Mutex hinzufügen, um "int reg" für beide Echo und Cat Case zu schützen? –
Wenn Sie in Dateien mit mehreren Prozessen/Threads schreiben, könnte Ihnen dieser Beitrag vielleicht helfen: https://stackoverflow.com/questions/26565498/multiple-threads-writing-on-same-file – rak007