Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C gettimeofday()在主线程中调用时返回垃圾值,但在其他线程中工作正常_C_Linux_Multithreading_Pthreads - Fatal编程技术网

C gettimeofday()在主线程中调用时返回垃圾值,但在其他线程中工作正常

C gettimeofday()在主线程中调用时返回垃圾值,但在其他线程中工作正常,c,linux,multithreading,pthreads,C,Linux,Multithreading,Pthreads,我从main()函数调用以下内容,也在其他创建的线程中调用。虽然它在创建的线程中工作正常,但在my main()中返回一个较大的垃圾值 在gcc中使用Linux-Ubuntu。有人知道这种奇怪行为的原因吗? 谢谢大家! 以这种方式使用它: main() { : emuTime = getTimeMilliSecs(); } 线程端代码: long time1 = getTimeMilliSecs(); printf("time1: %ld emuTime: %ld\n", time1,

我从main()函数调用以下内容,也在其他创建的线程中调用。虽然它在创建的线程中工作正常,但在my main()中返回一个较大的垃圾值

在gcc中使用Linux-Ubuntu。有人知道这种奇怪行为的原因吗? 谢谢大家!

以这种方式使用它:

main()
{
:
   emuTime = getTimeMilliSecs();
}
线程端代码:

long time1 = getTimeMilliSecs();
printf("time1: %ld  emuTime: %ld\n", time1, emuTime);   


OUTPUT:
time1: 9006806 emuTime: 1380680868658357
调用线程的类似方法



来自评论:更新
emuTime
也是
long

类型,它返回什么?您希望它返回什么?您检查返回值了吗?它应该返回类似于
138080868658357
的值,它将在星期三2013-10-02 02:27:48 UTC之后不久返回,就在几分钟前我键入此内容时。问题是为什么它会从另一个线程返回其他内容。显示它返回的实际值。自1970年以来,函数返回的值为微秒。(系统上的
long int
有多大?)?
long time1 = getTimeMilliSecs();
printf("time1: %ld  emuTime: %ld\n", time1, emuTime);   


OUTPUT:
time1: 9006806 emuTime: 1380680868658357