【Linux C程序设计】创建多线程

来源:互联网 发布:王铁崖 知乎 编辑:程序博客网 时间:2024/06/05 16:58
#include<stdio.h>#include<stdlib.h>#include<pthread.h>void* thfn(void* arg){  pid_t pid;  pthread_t tid;  pid = getpid();  tid = pthread_self();  printf("the new thread :pid is :%u ,tid is %u\n",(unsigned int )pid,(unsigned int)tid);  return NULL;}int main(){  pid_t pid;  int err;  pthread_t tid,mtid;  pid = getpid();  mtid = pthread_self(); //获取线程ID  err = pthread_create(&mtid,NULL,thfn,NULL);//创建线程  printf("%d\n",err);  sleep(1);//休眠一秒钟  printf("the main thread :pid is :%u ,tid is %u\n",(unsigned int )pid,(unsigned int)mtid);}
   pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。


问题解决:
    在编译中要加 -lpthread参数
    gcc thread.c -o thread -lpthread
    thread.c为你些的源文件,不要忘了加上头文件#include<pthread.h>
编译gcc -lpthread printtid.c -o printtid



0 0
原创粉丝点击