溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言多線程目錄操作

發(fā)布時間:2020-07-07 03:33:17 來源:網(wǎng)絡(luò) 閱讀:365 作者:Czyy1 欄目:編程語言

#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;

}

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI