Механизм указателя в многопоточности

У меня есть некоторая путаница в механизме указателя в примере многопоточности ниже в отмеченных строках, как один указатель превращается в двойной указатель

#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>

void *worker_thread(void *arg)
{
pthread_exit((void*)911);  /// <-- HERE
}

int main()
{
int i;
pthread_t thread;
pthread_create(&thread, NULL, worker_thread, NULL);
pthread_join(thread, (void **)&i);  /// <-- HERE
printf("%d\n",i);                   /// will print out 911

}

Во-вторых, если вместо числа ниже, если я хочу вернуть некоторое целочисленное значение, предположим, что я возьму переменную
int i = 911 в worker_thread API и хочу вернуть i с помощью pthread_exit() API как это сделать и как получить через pthread_join() API и каков механизм преобразования указателей из одинарных в двойные.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector