在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. 使用「不安全」線程函數是否安全?
- 3. C++模板函數是否是線程安全的?
- 4. 是否mysql_insert_id線程安全?
- 5. 是否log4j線程安全?
- 6. NSPasteboard是否線程安全?
- 7. RegExp.MatchString是否線程安全?
- 8. SeekableStream是否線程安全?
- 9. 線程是否表示線程安全?
- 10. strtok函數線程安全
- 11. C#數組是否線程安全?
- 12. 多線程調用相同的函數是否安全?
- 13. 部分線程安全是否使Java類線程安全?
- 14. Linux中gettimeofday函數線程是否安全?
- 15. 在線程之間共享數組是否安全?
- 16. 是System.ServiceModel.Channels.BufferManager是否線程安全?
- 17. 進程線程是否安全?
- 18. Android中的java.util.Observable是否線程安全?
- 19. apache線程的apr_pool_destroy()是否安全?
- 20. Java.sql的getRow()線程是否安全?
- 21. MyBatis中的selectKey線程是否安全?
- 22. 臨時表是否是線程安全的?
- 23. TheadFactoryBuilder線程安全生成的ThreadFactory是否安全?
- 24. 線程間通信的這種方法是否安全?
- 25. 存儲在線程安全集合線程中的對象是否安全?
- 26. concurrentMap.keySet()。toArray()線程是否安全?
- 27. 這個類是否線程安全?
- 28. glibc是否執行fprintf()線程安全?
- 29. 這段代碼是否線程安全?
- 30. 複製是否線程安全?
*糾正我,如果我錯了* - 你錯了。查看其他答案 – vaxquis 2014-09-02 14:09:52