目录

进程与线程以及如何查看

长期补充,建议关注收藏!


  • 定义
特性 进程 线程
定义 程序执行的基本单位 执行中的最小单位
资源 拥有独立的内存空间和资源 共享进程的资源
开销 创建和销毁的开销较大 创建和销毁的开销较小
执行单位 进程中可以有多个线程 线程是执行单元,必须依赖于进程
并发性 进程之间并行执行 线程之间并行执行
通信方式 进程间通信复杂 线程间通信简单
可靠性 进程崩溃不会影响其他进程 线程崩溃可能影响整个进程
  • 进程与线程的关系
    进程包含线程:一个进程至少有一个线程(主线程)。进程中的线程共享进程的资源,但每个线程有自己独立的执行栈。
    线程与进程的区别:
    进程是资源分配的单位,而线程是执行的单位。
    一个进程可以有多个线程,而线程必须依附于进程存在。
    进程之间是相互独立的,进程间的通信需要通过操作系统提供的机制;线程之间可以直接共享数据,不需要复杂的通信机制。
  • 进程和线程的调度
    进程调度:操作系统通过调度算法决定哪个进程可以使用 CPU。进程的调度通常基于时间片或优先级来分配 CPU 时间。
    线程调度:操作系统也会调度线程 ,多个线程可能在一个进程中竞争 CPU 时间。线程调度通常比进程调度更加灵活,线程之间的切换开销较小
  • 如何查看进程和线程
    • Linux
bash 复制代码
ps -eLf | grep <进程ID>
'
使用 ps 命令查看进程及其线程信息,特别是 -L 选项可以显示进程的线程信息。
-eLf:列出所有进程及其线程
'
top
'
top 命令也能显示线程信息,但默认只显示进程。如果你想查看线程,可以按 H 键切换到线程模式。

htop 是 top 的增强版,支持更直观的线程信息查看。运行 htop,然后按 F2 打开设置,找到显示线程的选项,将其启用即可查看线程信息。
'
    • Windows系统
  1. 按 Ctrl + Shift + Esc 打开任务管理器。
    切换到 "详细信息" 选项卡。
    右键点击标题栏,选择 "选择列"。
    在弹出的对话框中,勾选 "线程数",点击 确定。
    然后你可以看到每个进程的线程数,显示在 "线程数" 列中。
  2. 命令行操作
bash 复制代码
tasklist /fi "pid eq <进程ID>"
'
显示指定进程的基本信息,包括线程数(在 Threads 列中)。
'
    • Mac系统
  1. 活动监视器
  2. 命令行操作
bash 复制代码
top -o cpu
'
在 top 界面中,按下 H 键可以切换到显示线程信息模式。在这个模式下,top 会显示进程及其线程。
'
ps -eLf
ps -eLf | grep <进程ID>

#htop要通过homebrew来安装
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
liuliu032316 分钟前
戴尔笔记本 ubuntu 22.04 开机后进入initramfs界面
linux·运维·ubuntu
熬夜苦读学习30 分钟前
Linux进程信号
linux·c++·算法
to future_42 分钟前
非阻塞IO,fcntl,多路转接,select,poll,epoll,reactor
linux·网络协议
榆榆欸1 小时前
14.主从Reactor+线程池模式,Connection对象引用计数的深入分析
linux·服务器·网络·c++·tcp/ip
不想学习!!2 小时前
linux之进程控制
java·linux·服务器
良许Linux2 小时前
学电子信息工程时你遇到什么相见恨晚的网站和学习方法?
linux
良许Linux2 小时前
一个人离职前有什么征兆?
linux
神经毒素2 小时前
WEB安全--文件上传漏洞--36C3 CTF includer bypass
linux·安全·web安全
良许Linux2 小时前
单片机、嵌入式的大神都平时浏览什么网站?
linux
kfepiza2 小时前
`accept_ra` 和 `autoconf` 和 `forwarding` 的关系 笔记250404
linux·网络·笔记·tcp/ip·智能路由器·ip·tcp