【发布时间】:2013-10-03 14:07:49
【问题描述】:
ANSI C 时间函数不是线程安全的:尤其是gmtime、ctime 和strftime。据我所知,唯一的线程安全函数是time。
如果我在 Visual Studio 中是正确的,这个函数都是线程安全的。我正在使用 MinGW 编译器(带有 dwarf-2 的 4.8.0,由 Qt 5.1.0 提供)。
如何实现gmtime_r、ctime_r和strftime_r的线程安全功能?或者有没有更线程安全的库?
我使用 C++11 作为默认语言。
编辑 1
我在 windows xp 上使用 MinGW 4.8.0 (posix, dwarf-2)。
编辑 2
我正在考虑使用 Boost.DateTime 可能是一个不错的选择吗?
我对 c++11 缺乏时间管理感到非常失望!
【问题讨论】:
-
我猜你没有可用的标准 POSIX 库,否则你已经有了
ctime_r等人。在 C++11 中,您拥有std::chrononamespace。 -
我在 Windows Xp 上使用 MinGW。而且它不提供这个功能......所以我必须自己实现它。
标签: c++ multithreading c++11 time