小编Tay*_*ams的帖子

从线程传递数组

对于学校我有一个多线程的任务.每个线程都应该从控制台输入中获取一个数字,找到它的所有素数,并将所有这些素数作为数组返回.我正在努力以这种方式返回数组,以便我可以显示它.这是我的一些代码:

    int *number;

    for (int i =1; i < argc; i++) {
        pthread_create(&thread[i], NULL, prime_nums, (void*)argv[i]);
    }
    for (int i =1; i < argc; i++) {
        pthread_join(thread[i],(void**) &number);
        printf("%d\n", *(number + 0)); //This is just to test if the variable is correct
    }
Run Code Online (Sandbox Code Playgroud)

...

void *prime_nums(void*m) {
    int n = atoi(m);
    int count = 0;
    int f = 2;
    int primeNumbers[MAX_PRIME];
    /*printf("%d: ", n);*/
    while (n > 1 && count < MAX_PRIME) {
        if (n % f == 0) { …
Run Code Online (Sandbox Code Playgroud)

c arrays primes multithreading

5
推荐指数
1
解决办法
55
查看次数

标签 统计

arrays ×1

c ×1

multithreading ×1

primes ×1