首页 > 系统相关 >Linux线程 | 创建 终止 回收 分离

Linux线程 | 创建 终止 回收 分离

时间:2023-03-23 09:03:03浏览次数:35  
标签:printf 函数 thread void Linux 回收 线程 pthread

一、线程简介

图片1

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

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

  • 每个线程都有其对应的标识,称为线程 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

标签:printf,函数,thread,void,Linux,回收,线程,pthread
From: https://www.cnblogs.com/Wayne123/p/17246158.html

相关文章

  • Linux 查询文件夹名称命令(全称&模糊)
    全称查询如pdf全称文件名查询find-namefilename.pdf举例txt文件名查询find-namefilename.txtfinalshell中使用Linux命令操作模糊查询find-name'//文件名关......
  • 在 Arch Linux 中安装 GNOME 桌面所需步骤介绍
    本指南解释了在Arch Linux 中安装GNOME桌面所需的步骤。本指南有两部分:第一部分是关于安装基本的Arch系统;第二部分是在ArchLinux基础上安装完整的GNOME......
  • 爬虫进阶之多线程爬虫问题详解
    大多数正常人在下载图片的时候都是一个一个点击保存,图片越多花费的时间越多,大大的降低了工作效率。如果是学了爬虫的,一定会想到多线程来自动下载保存图片。多线程介绍:多......
  • Hyper-V中Linux虚拟机无法和宿主机连接
    在关闭Hyper-V虚拟机的情况下,选择Hyper-V管理界面中的“虚拟交换机管理器”。创建一个连接方式为“内部网络”的虚拟交换机   此时,在控制面板-网络和Internet-网络......
  • Linux文件操作
    Linux文件操作Linux的文件Linux中对目录和设备的操作都是文件操作,文件分为普通文件,目录文件,链接文件和设备文件普通文件:也称磁盘文件,并且能够进行随机的数据存储(能够......
  • Linux的3个文件时间
    导读文件时间是文件的访问时间、修改时间、和改变时间。atime在Linux的文件系统中被称为访问时间,当文件的内容被访问时,就会更新这个时间,mtime指的是当“内容数据”被修......
  • linux命令
    下文提到的命令均为个人在工作中使用命令的梳理,仅做记录,方便需要时查看系统相关du-h目录#查看目录占用空间du-h--max-depth=1|sort#查看当前目录下所有一级子目......
  • Linux 部署:kafka(虚拟机集群)
    参考文档:https://blog.csdn.net/wt334502157/article/details/116518259目录1.节点规划2.部署kafka集群3.修改配置4.附录1.节点规划节点ipvm8110.99.0.8......
  • Linux中使用curl命令报错:解决方法
    报错信息: 在下载软件的时候,下载不了,出现未知的错误,以上是报错信息。 报错原因:1、之前一直使用的是8.8.8.8的域名解析地址,这是Google公开的DNS服务器,以为就可以被解......
  • Linux中使用yum安装服务时会报:Existing lock /var/run/yum.pid: another copy is runn
    报错信息: 在下载服务时,不会显示正常的安装步骤,而是显示以上报错。 报错原因:1、是因为yum已经在后台运行了,导致进程僵死。 解决方法:1、把/var/run/yum.pid文件给......