当前位置: 技术问答>linux和unix
多线程调用localtime有时得到的数据不正确如何解决
来源: 互联网 发布时间:2015-07-02
本文导语: struct tm *tblock; time_t timer; timer = time(NULL); tblock = localtime(&timer); 好像和localtime返回是static变量有关,如何解决,是通过编译解决还是程序写法修改,拜谢 | 改用localtime_r(),参数多一个char*buf,自己提...
struct tm *tblock;
time_t timer;
timer = time(NULL);
tblock = localtime(&timer);
好像和localtime返回是static变量有关,如何解决,是通过编译解决还是程序写法修改,拜谢
time_t timer;
timer = time(NULL);
tblock = localtime(&timer);
好像和localtime返回是static变量有关,如何解决,是通过编译解决还是程序写法修改,拜谢
|
改用localtime_r(),参数多一个char*buf,自己提供缓冲区代替里面的static缓冲区。
|
可能因为localtime是不可再入函数,多线程调用会有问题,
试一试加锁,各线程间互斥调用这个函数。
试一试加锁,各线程间互斥调用这个函数。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。