linux多執行緒在 proc目錄的結構

2021-08-16 22:20:24 字數 1150 閱讀 5389

linux的多執行緒,其實就是clone系統呼叫的實現的(共享檔案等)

首先看個具體的例子:

[cpp]view plain

copy

#include 

#include 

#include 

#include 

#include 

#include 

#include 

void

*print_message_function( 

void

*ptr );    

intmain()    

return

0;  

}        

void

*print_message_function( 

void

*ptr )    

return

0;  

}   

此時一共有三個程序在跑(相對於kernel來說,只有程序的概念)

一般情況是,乙個程序在/proc 目錄下就對應乙個,以該程序id號名字的

檔案目錄,該目錄下儲存著該程序的所有資訊。

但是對應,所謂的多執行緒,它的目錄結構該會這麼樣呢?

假如該程式名為:thread

$top  -t  | grep thread

pid      tid pr cpu% s     vss     rss pcy uid      thread          proc

31694 31694  0   0% s   3008k    416k     root     thread          system/bin/thread

31694 31695  0   0% s   3008k    416k     root     thread          system/bin/thread

31694 31696  0   0% s   3008k    416k     root     thread          system/bin/thread

可知他們對應於乙個程序id號,而在此目錄下,分別在有其他三個執行緒目錄資訊:

proc/31694/task # ls

31694

31695

31696

linux多執行緒在 proc目錄的結構

linux的多執行緒,其實就是clone系統呼叫的實現的 共享檔案等 首先看個具體的例子 include include include include include include include void print message function void ptr int main ret...

PROC的多執行緒

在main中進行context的初始化 include include include include include include include typedef unsigned winapi pbeginthreadex threadfunc lpvoid lpthreadparameter...

pro c初學2 簡單多執行緒例子

name proc mul.pc 預編譯條件 mode oracle parse full 利用多執行緒,更新表中記錄 每個執行緒擁有單獨的上下文環境 表結構 create table accounts account number 36 balance 36,2 include include i...