自己睡不着敲着玩的,第一个程序是主线程传递一个结构体地址给子线程,第二个传递字符串,第三个是子线程通过pthread_exit()传递数据,然后pthread_join阻塞那里捕获。
int pthread_create(pthread_t *restrict thread,
const pthread_attr_t *restrict attr,
void *(*start_routine)(void*),
void *restrict arg);
下面说明一下各个参数的含义:
thread :所创建的线程号。
attr :所创建的线程属性,这个将在后面详细说明。
start_routine :即将运行的线程函数。
art :传递给线程函数的参数。
防止main线程提前退出,pthread_join 函数会让主线程阻塞,直到所有线程都已经退出。
int pthread_join(pthread_t thread, void **value_ptr);
thread :等待退出线程的线程号。
value_ptr :退出线程的返回值。
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#inc