初级会员
- 积分
- 104
- 金钱
- 104
- 注册时间
- 2017-11-20
- 在线时间
- 26 小时
|
4金钱
sem_t delete_data_dir_sem; //数据删除信号量
/**删除数据线程**/
ret =init_file_del_thread();
if(ret != 0)
{
DEBUG("init_file_del_thread\n");
}
int init_file_del_thread()
{
pthread_t file_del_thread_id;
int ret;
sem_init(&delete_data_dir_sem, 0, 0); //信号量初始化
ret = pthread_create(&file_del_thread_id, NULL, (void *)file_del_thread_entry, NULL);
if (ret != 0)
{
DEBUG("Create file del thread error!\n");
return ret;
}
return 0;
}
/*文件目录删除线程*/
void file_del_thread_entry()
{
printf("before delete_data_dir_sem\n");
//对时完成后,可以执行数据删除线程
sem_wait(&delete_data_dir_sem);
....
}
sem_post(&delete_data_dir_sem);
部分线程代码,信号量delete_data_dir_sem打印出来的大小为2,线程也跑进去了,但还是一直阻塞在那。
|
|