线程

作者: coderlan | 来源:发表于2018-06-06 23:38 被阅读0次

进程是资源分配的基本单位,而线程而是CPU调度的基本单位。
进程启动,就会创建一个线程,就是主线程,主线程可以通过系统调用pthread_create来创建其他线程。

进程中所有的线程都有自己的线程栈,用于保存自己的私有数据;但是统一进程的多个线程是共享进程的资源,包括数据段、代码段、堆、文件描述符等。

线程拥有id,成为TID。TID只保证在进程内部的唯一。

多线程的关系

不同于进程,有父子关系;同一个进程中的多个线程之间是平等的,不存在层级关系。任何线程都可以对统一进程中的其他线程进行某些管理操作:

  • 创建线程:通过系统调用pthread_create来创建新线程,获得新线程的TID。
  • 终止线程:通过系统调用pthread_cancel请求指定TID的线程停止执行,这个操作其实就是通知,听不听话、什么时候听话取决于另一线程的实现。
  • 连接已终止的线程:通过系统调用pthread_join,等待指定线程ID的线程终止,并且获得指定线程的返回值。
  • 分离线程:使得指定TID的线程不可以被连接,目的在于让操作系统内核在目标线程终止时,能够自动清理和销毁。通过系统调用pthread_detach来完成。

线程状态

线程状态

相关文章

  • Android

    线程间通信 主线程和工作线程主线程和工作线程 工作线程与工作线程工作线程与工作线程 为什么主线程Looper.lo...

  • 三、操作系统之线程

    前言 什么是线程 引入线程的原因 线程的概念 线程和进程的关系 线程结构 线程有点 多线程模型 用户线程和内核线程...

  • Thread

    队列 线程锁 多线程,线程池 队列 多线程爬虫示例 多线程 自定义线程 线程池

  • 总结多线程与设计模式+synchronized+性能+高吞吐+死

    Java线程 Java语言的线程 何谓线程 线程启动 线程的暂时停止 线程的共享互斥 线程的协调 线程的状态转移 ...

  • 多线程编程

    摘要 线程概念,线程与进程的区别与联系学会线程控制,线程创建,线程终止,线程等待了解线程分离与线程安全学会线程同步...

  • java线程池

    线程VS线程池 普通线程使用 创建线程池 执行任务 执行完毕,释放线程对象 线程池 创建线程池 拿线程池线程去执行...

  • java并发之守护线程

    java中有两种线程,用户线程和守护线程用户线程:主线程停止时,用户线程不会停止守护线程:主线程停止时,守护线程也...

  • Java线程池的使用

    线程类型: 固定线程 cached线程 定时线程 固定线程池使用 cache线程池使用 定时调度线程池使用

  • 线程基础知识

    线程学习 线程的基础知识 线程是什么? 线程和进程的关系 线程的6个状态 线程优先级 主线程、多线程、后台线程的概...

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

网友评论

      本文标题:线程

      本文链接:https://www.haomeiwen.com/subject/rcxwsftx.html