Первый аргумент - указатель на функцию.start_proc
указывает на функцию, которая принимает один параметр void *
и возвращает void *
, который в этом случае является точкой входа для потока.Кроме того, вторым аргументом uthread_create
является параметр, который будет передан start_proc
при вызове.
Функция, подобная этой, будет удовлетворять указателю функции:
void *my_thread(void *p)
{
char *s = p;
printf("s=%s", s);
return NULL;
}
И вы могли бы позвонить uthread_create
так:
uthread_t tid;
char str[] = "test string";
tid = uthread_create(my_thread, str);