mktime 的手册页没有提到 mktime 的线程安全,但确实提到了这一点,这使它看起来像线程不安全:
调用 mktime() 还会使用有关当前时区的信息设置外部变量 tzname。
我知道在 Linux mktime 上调用 tzset 来设置 tzname,它是一个 char*[]:
外部字符 *tzname[2];
tzset 将读取环境变量 TZ 和文件 /etc/localtime。因此,除非 mktime 使用互斥锁来保护所有这些操作,否则我看不出它如何是线程安全的。
mktime 的手册页没有提到 mktime 的线程安全,但确实提到了这一点,这使它看起来像线程不安全:
调用 mktime() 还会使用有关当前时区的信息设置外部变量 tzname。
我知道在 Linux mktime 上调用 tzset 来设置 tzname,它是一个 char*[]:
外部字符 *tzname[2];
tzset 将读取环境变量 TZ 和文件 /etc/localtime。因此,除非 mktime 使用互斥锁来保护所有这些操作,否则我看不出它如何是线程安全的。