如何查看进程开启了多少线程

本文介绍了在Linux平台上如何查看某个进程开启的线程数。通过/proc/{pid}目录下的信息,可以了解进程运行时的行为。通过`cat /proc/{pid}/status | grep Threads`命令,可以动态查看进程的线程个数。文中通过两个实验展示了简单和动态创建线程的情况。
摘要由CSDN通过智能技术生成
为什么要知道某个进程开启了多少线程 ?
  • 好奇,但是这个很重要

  • 性能调优

概念澄清

  • 这里所说的线程指的是内核级别的线程,不是用户态线程,所谓用户态线程是指不依赖操作系统而是在用户态下实现的执行流调度。

  • 这里的线程个数指的是进程运行时的线程个数,这个数值会随着线程的创建和销毁而动态变化。

  • 本文主要关注Linux平台。

背景知识与原理

  • /proc/{pid}

/proc/{pid}下记录了每个进程运行时的所有关键信息,那这些信息是谁来生成的呢,答案是Linux内核。

Linux内核在执行你写的程序时,将所有关键信息写到了/proc/{pid}下,因此你可以通过查看这个目录下的信息来或者进程的运行时行为,这对于那些好奇内核是如何运行程序的同学是非常重要的。

你可以把这个目录下的信息理解为Linux内核在执行你写的程序时所打印的Log。通过该Log你就可以知道进程开启了多少线程了。

  • 进程号:pid

Linux内核在执行程序时需要为每个进程分配一个id,类似于身份证号的作用,用于识别进程,因此想获取某个进程开启了多少线程首先必须要知道是进程id。

实验开始

  • 实验一:最简单的情况

我们来看一下最简单的helloworld程序有多少线程:

#include <iostream>
#include <unistd.h>

int main()
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值