时间:2023-03-04 10:51:13 | 栏目:C代码 | 点击:次
pthread_create是类Unix操作系统(Unix、Linux、Mac OS X等)的创建线程的函数。它的功能是创建线程(实际上就是确定调用该线程函数的入口点),在线程创建以后,就开始运行相关的线程函数。
头文件:
#include<pthread.h>
函数原型:
int pthread_create (pthread_t * tidp, const pthread_attr_t * attr, void * (*start_rtn)(void*), void *arg);
若线程创建成功,则返回0。若线程创建失败,则返回出错编号,并且*thread中的内容是未定义的。
#include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <string.h> void printids(const char *s) { pid_t pid; pthread_t tid; pid = getpid(); tid = pthread_self(); printf("%s pid %u tid %u (0x%x)\n", s, (unsigned int) pid, (unsigned int) tid, (unsigned int) tid); } void * thr_fn(void *arg) { printids("new thread: "); return NULL; } int main() { int err; pthread_t ntid; err = pthread_create(&ntid, NULL, thr_fn, NULL); if(err != 0) { printf("Can't create thread: %s\n", strerror(err)); } printids("main thread"); pthread_join(ntid, NULL); return EXIT_SUCCESS; }
结果展示: