原创 使用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");
}
#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");
}
相关文章推荐
- 使用pthread_cond_timedwait把一个线程作为一个定时器使用.
- 使用pthread_cond_timedwait把一个线程作为一个定时器使用.
- Linux下c开发 之 线程通信与pthread_cond_wait()的使用
- 使用pthread_cond_timedwait()超时时间设置问题
- Linux下c开发 之 线程通信与pthread_cond_wait()的使用
- Linux 线程通信与pthread_cond_wait()的使用
- 线程通信与pthread_cond_wait()的使用
- Linux下c开发 之 线程通信与pthread_cond_wait()的使用
- Linux下c开发 之 线程通信与pthread_cond_wait()的使用
- 关于如何使用pthread_cond_timedwait()超时接口
- C/C++ pthread_cond_timedwait()函数使用心得
- pthread_cond_timedwait的使用及疑问
- 关于如何使用pthread_cond_timedwait()超时接口
- pthread_cond_wait/pthread_cond_timedwait使用注意
- 关于如何使用pthread_cond_timedwait()超时接口
- pthread_cond_wait避免线程空转
- pthread_cond_timedwait时间设置
- 互斥量、条件变量与pthread_cond_wait()函数的使用,详解
- Linux多线程编程 - sleep 和 pthread_cond_timedwait
- pthread_cond_timedwait 实例