学堂 学堂 学堂公众号手机端

在Linux中,pthread_create函数用于创建一个新的线程

lewis 1年前 (2024-04-09) 阅读数 8 #技术

在Linux中,pthread_create函数用于创建一个新的线程。其语法如下:

intpthread_create(pthread_t*thread,constpthread_attr_t*attr,void*(*start_routine)(void*),void*arg);

其中,参数含义如下:

  • thread:用于存储新线程的ID。
  • attr:线程属性,一般设置为NULL。
  • start_routine:线程的入口函数,即新线程运行的起始地址。
  • arg:传递给start_routine函数的参数。

下面是一个简单的例子,展示如何使用pthread_create函数创建一个新的线程:


#include<stdio.h> #include<pthread.h> void*myThread(void*arg){ int*num=(int*)arg; printf("ThreadID:%ld,Number:%d\n",pthread_self(),*num); returnNULL; } intmain(){ pthread_ttid; intnumber=10; pthread_create(&tid,NULL,myThread,&number); pthread_join(tid,NULL); return0; }

在上面的例子中,首先定义了一个名为myThread的线程函数,然后在主函数main中使用pthread_create函数创建一个新的线程,并传递参数number给新线程。最后,使用pthread_join函数等待新线程执行完毕。

需要注意的是,使用pthread_create函数创建新线程时,需要链接pthread库。可以使用如下命令编译程序:

gcc-omyprogrammyprogram.c-lpthread
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门