您的位置:首页 > 大数据 > 人工智能

原创 使用pthread_cond_timedwait把一个线程作为一个定时器使用.

2009-06-03 13:59 459 查看
//http://blog.csdn.net/lllxy/archive/2009/02/10/3874415.aspx

#include <pthread.h>

#include <stdio.h>

#include <unistd.h>

#include <stdlib.h>

void * Proc(void * arg)

{

pthread_cond_t cond;

pthread_mutex_t mutex;

pthread_mutex_init(&mutex,NULL);

pthread_cond_init(&cond,NULL);

timespec to;

int i = 0;

pthread_mutex_lock(&mutex);

to.tv_sec = time(NULL) + 3;

to.tv_nsec = 0;

while (i < 5)

{

int err = pthread_cond_timedwait(&cond, &mutex, &to);

if (err == ETIMEDOUT)

{

printf("time out %d: dispatch something.../n",i);

i++;

}

}

pthread_mutex_unlock(&mutex);

}

int main()

{

pthread_t pid;

int i=0;

printf("create thread.../n");

pthread_create(&pid,0,Proc,0);

pthread_join(pid,NULL);

sleep(1);

printf("Succeed exit!/n");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: