相关疑难解决方法(0)

如果线程共享相同的PID,它们如何识别?

我有一个与Linux中的线程实现相关的查询.

Linux没有明确的线程支持.在用户空间中,我们可能使用线程库(如NPTL)来创建线程.现在,如果我们使用NPTL,它支持1:1映射.

内核将使用该clone()函数来实现线程.

假设我创建了4个线程.那意味着:

  • 将会有4个task_struct.
  • 在内部task_struct,将根据克隆的参数提供共享资源(CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND).

现在我有以下查询:

  1. 4个线程是否具有相同的PID?如果有人可以详细说明,如何共享PID.
  2. 如何识别不同的线程; 是否有一些TID(线程ID)概念?

multithreading pid linux-kernel

91
推荐指数
2
解决办法
5万
查看次数

CPU进程是否至少有一个线程?

我知道线程用于多任务处理并且它们重量轻.但我怀疑的是,我说我需要一个没有任何多任务的过程.我刚刚创建了一个流程.现在CPU会将单个线程关联到进程,还是单独执行进程而不需要线程?

请澄清.

问候,哈里什

cpu process

9
推荐指数
2
解决办法
3559
查看次数

如果我有一个进程,并且我克隆它,那么PID是否相同?

只是一个简单的问题,如果我克隆一个进程,克隆进程的PID是一样的,是吗?fork()创建一个PID不同的子进程,但其他一切都是相同的.Vfork()使用相同的PID创建子进程.Exec用于将当前正在执行的进程更改为其他进程.

我在所有这些陈述中都是正确的吗?

linux fork pid exec

1
推荐指数
2
解决办法
5751
查看次数

标签 统计

pid ×2

cpu ×1

exec ×1

fork ×1

linux ×1

linux-kernel ×1

multithreading ×1

process ×1