Linux线程 | 创建 终止 回收 分离,它被包含在进程之中,


一、线程简介

  • 线程是参与系统调度的最小单位。它被包含在进程之中,是进程中的实际运行单位。

  • 一个进程中可以创建多个线程,多个线程实现并发运行,每个线程执行不同的任务。

  • 每个线程都有其对应的标识,称为线程 ID,线程 ID 使用 pthread_t 数据类型来表示。

二、线程的创建

线程是轻量级的并发执行单元,通过调用Linux系统提供的pthread库中的函数来创建和管理线程。

  • 包含头文件:
#include <pthread.h>
  • 定义线程函数:

线程函数是线程实际执行的函数,可以是任何可以被调用的函数。线程函数的原型如下:

void* thread_function(void* arg);

其中arg是传递给线程函数的参数,可以是任何类型的数据。线程函数的返回值为void*类型,可以返回任何类型的数据。

  • 创建线程:

创建线程需要调用pthread_create函数。该函数的原型如下:

int pthread_create(pthread_t* thread, const pthread_attr_t* attr, void* (*start_routine)(void*), void* arg);
参数 类型 描述
thread pthread_t * 用于存储新线程标识符的指针
attr const pthread_attr_t * 用于指定新线程的属性,如栈大小、调度策略等,可以为 NULL,表示使用默认属性
start_routine void *(*)(void *) 新线程的起始函数,需要返回 void 指针类型的结果,并且带有一个 void 指针类型的参数
arg void * 传递给新线程起始函数的参数,可以为 NULL
返回值 int 0 表示成功,非 0 表示失败,错误代码保存在 errno

相关内容