在Linux的情況下,對於時間函數,我們有一個_r版本例如:localtime有localtime_r,但在Windows中我無法找到一些這樣的功能。 Windows時間函數本質上是線程安全的嗎?MSVC的時間函數是否線程安全?
11
A
回答
12
與Microsoft Visual Studio你有一個選擇C-運行時的使用方法:通常他們是:
- 靜態單線程庫(libc)
- 靜態多線程庫(libcmt)
- 動態多線程庫(msvcrt)
多線程庫是線程安全的。單線程庫最後一次出現在MSVC 2005中,並已從MSVC 2008中刪除。
dll運行時(msvcrt.dll)只能是線程安全的 - 由於實現在dll中,因此在多個其他所有這些都可以使用工作線程,它必須是線程安全的,因爲設計一個應用程序來使用它是不可能的。
-2
我認爲他們不是ThreadSafe並且沒有_r版本。但如果我錯了,請糾正我。
也許是更好,如果你使用自己的Windows功能,如
4
我認爲的Windows localtime_s是線程安全的:http://msdn.microsoft.com/en-us/library/a442x3ye(VS.80).aspx - 使用MS CRT
8
時至少在Windows上,非_r函數是線程安全的,因爲它們使用線程本地存儲緩衝區。見例如http://msdn.microsoft.com/en-us/library/bf12f0hc(VS.80).aspx
相關問題
- 1. 是否是setlocale線程安全函數?
- 2. MSVC errno線程安全
- 3. 使用「不安全」線程函數是否安全?
- 4. C++模板函數是否是線程安全的?
- 5. 是否Box.add()線程安全?
- 6. 是否mysql_insert_id線程安全?
- 7. NashornScriptEngine是否線程安全?
- 8. RegExp.MatchString是否線程安全?
- 9. SeekableStream是否線程安全?
- 10. 是否log4j線程安全?
- 11. NSPasteboard是否線程安全?
- 12. LIBSVM是否安全線程
- 13. epoll是否線程安全?
- 14. 是否NotifyPropertyChanged線程安全?
- 15. 線程是否表示線程安全?
- 16. C#數組是否線程安全?
- 17. strtok函數線程安全
- 18. 同步Set線程的構造函數 - 副本是否安全?
- 19. 多線程調用相同的函數是否安全?
- 20. std :: wstring_convert線程的成員函數是否安全?
- 21. 部分線程安全是否使Java類線程安全?
- 22. Android FragmentTransaction.replace()是否是線程安全的?
- 23. Linux中gettimeofday函數線程是否安全?
- 24. 用戶必須提供terminate()函數是否線程安全?
- 25. 在線程之間共享數組是否安全?
- 26. 請求之間是否HttpContext.Current.Items是線程安全的?
- 27. 是System.ServiceModel.Channels.BufferManager是否線程安全?
- 28. 進程線程是否安全?
- 29. Android中的java.util.Observable是否線程安全?
- 30. MyBatis中的selectKey線程是否安全?
*糾正我,如果我錯了* - 你錯了。查看其他答案 – vaxquis 2014-09-02 14:09:52