创建线程,但进程显示出来?

Gqqnbig
#include <unistd.h>
#include <stdio.h>
#include <cstring>
#include <thread>

void test_cpu() {
    printf("thread: test_cpu start\n");
    int total = 0;
    while (1) {
        ++total;
    }
}

void test_mem() {
    printf("thread: test_mem start\n");
    int step = 20;
    int size = 10 * 1024 * 1024; // 10Mb
    for (int i = 0; i < step; ++i) {
        char* tmp = new char[size];
        memset(tmp, i, size);
        sleep(1);
    }
    printf("thread: test_mem done\n");
}

int main(int argc, char** argv) {
    std::thread t1(test_cpu);
    std::thread t2(test_mem);
    t1.join();
    t2.join();
    return 0;
}

用它编译 g++ -o test test.cc --std=c++11 -lpthread

我在Linux中运行该程序,然后运行top对其进行监视。

我希望看到一个过程,但是我看到了三个。

在此处输入图片说明

看起来std :: thread正在创建线程,为什么我最终要获取进程?

用户名

Linux不实现线程。它只有轻量级进程(LWP),而pthread库将它们包装起来以提供与POSIX兼容的线程接口。主LWP创建自己的地址空间,而每个后续线程LWP与主LWP共享地址空间。

默认情况下,许多实用程序(例如HTOP)(似乎在屏幕快照中)列出了LWP。为了隐藏线程LWP,您可以打开Setup (F2)->Display Options并选中Hide kernel threadsHide userland process threads选项。还有一个突出显示线程的选项- Display threads in different color

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

关系结果自动显示出来?

来自分类Dev

关系结果自动显示出来?

来自分类Dev

为什么我的障碍没有显示出来

来自分类Dev

Android 布局在布局预览中从屏幕显示出来

来自分类Dev

如何使获得的 1 个得分点显示出来?

来自分类Dev

使用{{#with}}包装模板时,模板没有显示出来吗?

来自分类Dev

从网页中提取数据,将其解析为特定片段,然后显示出来

来自分类Dev

CSS选择器,如:after,:before,不会显示出来

来自分类Dev

即使我不向上游或向下游提供气流,任务也会显示出来

来自分类Dev

我为cardBackgroundColor设置的颜色为什么不完全显示出来?

来自分类Dev

使用Python-从HTML中获取表格并显示出来吗?

来自分类Dev

随机链接,一旦显示出来,我就不希望它再次出现

来自分类Dev

角度模态-模态从一开始就显示出来,我无法隐藏它

来自分类Dev

iOS如何检查数组的值是否包含某个值并将其显示出来

来自分类Dev

如何防止角度渲染页面直到所有数据都显示出来?

来自分类Dev

我的应用程序组件没有显示出来,只是从index.html加载...

来自分类Dev

当另一个控件覆盖时,如何防止编辑控件显示出来?

来自分类Dev

Textviews 没有从数组和片段中显示出来?

来自分类Dev

如何让手机应用程序的新文件类型显示出来?(蚀)

来自分类Dev

c# - 我的 .dll 文件没有显示出来

来自分类Dev

并非图层列表中的所有项目都显示出来

来自分类Dev

如何将原始二进制数组数据加载到Julia中并显示出来?

来自分类Dev

在用更少的Meteor 0.9.0.1后更新Bootstrap 3苦苦挣扎之后,没有内容显示出来

来自分类Dev

当我键入“没有任何结果,如果再次键入它,其中的2条将这样显示出来:”

来自分类Dev

为什么docker0网桥在带有法兰绒的kubernetes集群中显示出来?

来自分类Dev

我一直试图让我的背景图片显示出来,但我似乎做不到。谁能看到我做错了吗?

来自分类Dev

带有“ click”的addEventListener()无法运行,但没有错误显示出来,可以使用Chaffle.js随机播放文本

来自分类Dev

scanimage除非经过sudo'ed才能找到扫描仪,但是会以理智的扫描仪显示出来(Raspbian)

来自分类Dev

如何在顶部显示进程的线程/子进程计数?

Related 相关文章

  1. 1

    关系结果自动显示出来?

  2. 2

    关系结果自动显示出来?

  3. 3

    为什么我的障碍没有显示出来

  4. 4

    Android 布局在布局预览中从屏幕显示出来

  5. 5

    如何使获得的 1 个得分点显示出来?

  6. 6

    使用{{#with}}包装模板时,模板没有显示出来吗?

  7. 7

    从网页中提取数据,将其解析为特定片段,然后显示出来

  8. 8

    CSS选择器,如:after,:before,不会显示出来

  9. 9

    即使我不向上游或向下游提供气流,任务也会显示出来

  10. 10

    我为cardBackgroundColor设置的颜色为什么不完全显示出来?

  11. 11

    使用Python-从HTML中获取表格并显示出来吗?

  12. 12

    随机链接,一旦显示出来,我就不希望它再次出现

  13. 13

    角度模态-模态从一开始就显示出来,我无法隐藏它

  14. 14

    iOS如何检查数组的值是否包含某个值并将其显示出来

  15. 15

    如何防止角度渲染页面直到所有数据都显示出来?

  16. 16

    我的应用程序组件没有显示出来,只是从index.html加载...

  17. 17

    当另一个控件覆盖时,如何防止编辑控件显示出来?

  18. 18

    Textviews 没有从数组和片段中显示出来?

  19. 19

    如何让手机应用程序的新文件类型显示出来?(蚀)

  20. 20

    c# - 我的 .dll 文件没有显示出来

  21. 21

    并非图层列表中的所有项目都显示出来

  22. 22

    如何将原始二进制数组数据加载到Julia中并显示出来?

  23. 23

    在用更少的Meteor 0.9.0.1后更新Bootstrap 3苦苦挣扎之后,没有内容显示出来

  24. 24

    当我键入“没有任何结果,如果再次键入它,其中的2条将这样显示出来:”

  25. 25

    为什么docker0网桥在带有法兰绒的kubernetes集群中显示出来?

  26. 26

    我一直试图让我的背景图片显示出来,但我似乎做不到。谁能看到我做错了吗?

  27. 27

    带有“ click”的addEventListener()无法运行,但没有错误显示出来,可以使用Chaffle.js随机播放文本

  28. 28

    scanimage除非经过sudo'ed才能找到扫描仪,但是会以理智的扫描仪显示出来(Raspbian)

  29. 29

    如何在顶部显示进程的线程/子进程计数?

热门标签

归档