#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <sys/types.h>
#include <dirent.h>
#define NUM 2
void thread(void arg)
{
int i;
DIR dir = NULL;
struct dirent ptr = (struct dirent )calloc(1, sizeof(struct dirent));
struct dirent *result = NULL;
for (i=0;i<1;i++) {
printf ("in thread:%d\n", (int)arg);
dir = opendir("/root/tmp");
if (!dir) {
printf("opendir failed\n");
}
while ((readdir_r(dir, ptr, &result)==0) && (result != NULL)) {
printf("name:%s ", result->d_name);
}
printf ("\n");
closedir(dir);
sleep (1);
}
}
int main(void)
{
pthread_t id[NUM];
int i,ret;
for (i=0;i<NUM;i++) {
ret = pthread_create(&id[i], NULL, (void *)thread, (void *)i);
if (ret) {
printf("create pthread error\n");
return 1;
}
}
for (i=0;i<NUM;i++) {
pthread_detach(id[i]);
}
while (1);
return 0;
}
©著作权归作者所有:来自51CTO博客作者Czyy1的原创作品,如需转载,请注明出处,否则将追究法律责任
共同学习,写下你的评论
评论加载中...
作者其他优质文章