pthread_create函数
原型:int pthread_create((pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg)
用法:#include <pthread.h>
功能:创建线程(实际上就是确定调用该线程函数的入口点),在线程创建以后,就开始运行相关的线程函数。
说明:thread:线程标识符;
attr:线程属性设置;
start_routine:线程函数的起始地址;
arg:传递给start_routine的参数;
返回值:成功,返回0;出错,返回-1。
举例:
#include#include #include #include #include #define gettid() syscall(SYS_gettid)#define ARRAYSIZE 17#define NUMTHREADS 4struct ThreadData { int start, stop; int* array; };void* squarer(void* td) { struct ThreadData* data=(struct ThreadData*) td; int start=data->start; int stop=data->stop; int* array=data->array; int i; pid_t tid1; tid1 = gettid(); //error at this statement//` printf("tid : %d\n",tid1); for (i=start; i
编译: gcc -pthread 3.cc
运行: ./a.out