【Linux】盘点<多线程控制>基本操作&演示:创建&中止&等待&分离

前言

大家好吖,欢迎来到 YY 滴Linux系列 ,热烈欢迎! 本章主要内容面向接触过C++的老铁
主要内容含:
【Linux】盘点<多线程控制>基本操作&演示:创建&中止&等待&分离_第1张图片

欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!

  • YY的《C++》专栏
  • YY的《C++11》专栏
  • YY的《Linux》专栏
  • YY的《数据结构》专栏
  • YY的《C语言基础》专栏
  • YY的《初学者易错点》专栏
  • YY的《小小知识点》专栏
  • YY的《单片机期末速过》专栏
  • YY的《C++期末速过》专栏
  • YY的《单片机》专栏
  • YY的《STM32》专栏
  • YY的《数据库》专栏
  • YY的《数据库原理》专栏

目录

  • 一.POSIX线程库
  • 二.线程控制
    • 1.pthread_t是什么类型
    • 2.创建线程:pthread_create
      • 【1】基本语法
      • 【2】示例演示
    • 3.线程终止:pthread_exit&pthread_cancel
      • 【1】基本语法
      • 【2】示例演示
    • 4.线程等待:pthread_join
      • 【1】为什么要进行线程等待
      • 【2】基本语法
      • 【3】示例演示
    • 5.线程分离:pthread_detach
      • 【1】为什么要进行线程分离&线程joinable状态与分离状态
      • 【2】基本语法
      • 【3】示例演示

一.POSIX线程库

  1. 与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以“pthread_”打头的
  2. 要使用这些函数库,要通过引入头文件 include
  3. 链接这些线程函数库时要使用编译器命令的“-lpthread”选项
gcc test.c -o test.o -lpthread

二.线程控制

1.pthread_t是什么类型

  • pthread_t 的类型取决于实现。对于Linux目前实现的NPTL实现而言,pthread_t类型的线程ID,本质
    就是一个进程地址空间上的一个地址。
    【Linux】盘点<多线程控制>基本操作&演示:创建&中止&等待&分离_第2张图片

2.创建线程:pthread_create

【1】基本语法

功能:创建一个新的线程
原型
    int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg);
参数
    thread:返回线程ID
    attr:设置线程的属性,attr为NULL表示使用默认属性
    start_routine:是个函数地址,线程启动后要执行的函数
    arg:传给线程启动函数的参数
返回值:
    成功返回0;失败返回错误码

【2】示例演示

  • 创建完后,新线程执行rout函数去了,传入参数是NULL;
  • 主线程继续往下跑
#include 
#include 
#include 
#include 
#include 
void *rout(void *arg) {
   
    int i;
    for( ; 

你可能感兴趣的:(YY滴,《Linux系列》,linux,java,数据库)