Im Fall von Linux haben wir für Zeitfunktionen eine _r-Version Ex: localtime hat localtime_r, aber in Windows kann ich einige solcher Funktionen nicht finden. Sind die Windows-Zeitfunktionen inhärent threadsicher?Sind die Zeitfunktionen von MSVC threadsicher?
Antwort
Mit Microsoft Visual Studio haben Sie die Wahl von c-Runtimes zu verwenden: in der Regel waren sie:
- statische Single-Threaded-Bibliothek (libc)
- Static multithreaded Bibliothek (LIBCMT)
- dynamische Multithread-Bibliothek (msvcrt)
Die Multithread-Bibliotheken sind threadsicher. Die Singlethread-Bibliothek wurde zuletzt in MSVC 2005 gesehen und wurde von MSVC 2008 gelöscht.
Die DLL-Laufzeit (msvcrt.dll) muss nur threadsicher sein - Da die Implementierung in einer DLL ist und daher von mehreren anderen geteilt wird Module in dem Prozess, die alle Worker-Threads verwenden könnten, Es muss threadsicher sein, da es keine vernünftige Möglichkeit gibt, eine Anwendung zu entwerfen, um es andernfalls zu verwenden.
Ich denke, dass sie nicht ThreadSafe sind und es gibt keine _r-Version. Aber korrigiere mich, wenn ich falsch liege.
Vielleicht ist es besser, wenn man die eigenen Windows-Funktionen verwenden, wie
Ich denke, dass Windows localtime_s ist Thread-sicher: http://msdn.microsoft.com/en-us/library/a442x3ye(VS.80).aspx - zumindest bei der Verwendung von MS CRT
Unter Windows sind die Nicht-_r-Funktionen Thread-sicher, da sie fadenlokalen Speicher für den Puffer verwenden. Siehe z.B. http://msdn.microsoft.com/en-us/library/bf12f0hc(VS.80).aspx
- 1. Sind Methodenparameter in Java threadsicher?
- 2. Sind Quartz-Scheduler-Instanzen threadsicher?
- 3. Sind Python-integrierte Container threadsicher?
- 4. Sind statische Java-Initialisierer threadsicher?
- 5. SQLError mit Datumaddfunktion/Zeitfunktionen
- 6. Sind redis-Operationen auf Datenstrukturen threadsicher
- 7. Sind statische Methoden mit Out-Argumenten threadsicher?
- 8. Was bedeutet es "Unveränderliche Zeichenfolgen sind threadsicher"
- 9. Sind statische Variablen in GCC threadsicher?
- 10. Sind linq-Operationen für gleichzeitige Sammlungen threadsicher?
- 11. Welche Operationen im Knoten sind threadsicher?
- 12. Sind die boost socket Lese- und Schreibfunktionen threadsicher?
- 13. Sind gnu syslog(), openlog() und closelog() threadsicher?
- 14. Welche Operationen sind threadsicher auf std :: map?
- 15. Sind primitive Datentypen in C# atomar (threadsicher)?
- 16. Sind Dapper QueryMultiple/Query/Execute Methoden threadsicher?
- 17. Sind BinaryFormatter serialisieren und deserialisieren threadsicher?
- 18. automatisch immer Zeitfunktionen in R
- 19. Ist die Erweiterungsmethode threadsicher?
- 20. MSVC Abschnitt von binären
- 21. Ist die Boto-Bibliothek threadsicher?
- 22. Was sind die Verwendungen von atomaren Wegen?
- 23. Warum sind Klassen wie BindingList oder ObservableCollection nicht threadsicher?
- 24. Sind LoadLibrary, FreeLibrary und GetModuleHandle Win32-Funktionen threadsicher?
- 25. Warum ist ReadOnlyDictionary threadsicher?
- 26. Äquivalent von open_memstream für MSVC
- 27. Ist ODataController threadsicher?
- 28. Ist .NET System.Net.CookieContainer threadsicher?
- 29. Ist dieser Code threadsicher? Wie kann ich es threadsicher machen?
- 30. Warum GCC und MSVC std :: normal_distribution sind anders?
* korrigieren Sie mich, wenn ich falsch liege * - du liegst falsch. Siehe andere Antworten – vaxquis