我必須調用單獨線程中的一個方法(我正在使用posix線程),它會在每5秒後更新一些值,其中寫下面的代碼。問題在暫停posix線程在特定的時間間隔c
void *threadEntry(void *)
{
while(1)
{
updateValue();//to update some values
usleep(5000000);//pause for 5 second
}
}
pthread_t thread1;
pthread_create(&thread1,NULL,threadEntry,NULL);
但這線程獲取分段錯誤4-5分鐘後。什麼能原因是什麼?是否有任何其他方式暫停POSIX線程。(我使用的Linux)
你可以添加崩潰的回溯到你的問題 – 2010-08-20 09:02:09
是時間問題還是與段錯誤?你能澄清這一點嗎?例如,刪除睡眠並不斷調用updateValue會導致段錯誤。 – shodanex 2010-08-20 11:56:36
崩潰更可能出現在您顯示的線程函數中的updateValue()函數中。 – 2010-08-20 13:43:14