TID 和 PID

贯穿的那张表(实验机上 ps -eLo pid,tid,nlwp,stat,pcpu,comm 抓的,每行一个线程): PID TID NLWP STAT %CPU COMM 1 1 1 Ss 0.0 b

开始练习 →

NLWP 是什么

贯穿的那张表(实验机上 ps -eLo pid,tid,nlwp,stat,pcpu,comm 抓的,每行一个线程): PID TID NLWP STAT %CPU COMM 1 1 1 Ss 0.0 b

开始练习 →

STAT 里的 R 和 l

贯穿的那张表(实验机上 ps -eLo pid,tid,nlwp,stat,pcpu,comm 抓的,每行一个线程): PID TID NLWP STAT %CPU COMM 1 1 1 Ss 0.0 b

开始练习 →

把表切开

(每道题开头都有同一段:那张线程表 PSL,和把它切成字典列表的 rows()——每个字典有 pid / tid / nlwp / stat / cpu / comm 六项。) rows() 把表切成字典列表。看一共几行、几个不同的 PID

开始练习 →

每个进程几只手

(每道题开头都有同一段:那张线程表 PSL,和把它切成字典列表的 rows()——每个字典有 pid / tid / nlwp / stat / cpu / comm 六项。) 按 PID 分组数线程,和 NLWP 对一对: PSL = &

开始练习 →

补全:找主线程

(每道题开头都有同一段:那张线程表 PSL,和把它切成字典列表的 rows()——每个字典有 pid / tid / nlwp / stat / cpu / comm 六项。) 补全 mains(r):挑出主线程的行(TID 等于 PID)

开始练习 →

补全:某个进程的线程

(每道题开头都有同一段:那张线程表 PSL,和把它切成字典列表的 rows()——每个字典有 pid / tid / nlwp / stat / cpu / comm 六项。) 补全 threads_of(r, pid):交回这个进程所有线

开始练习 →

等的时候处理器在干什么

「写盘」线程把数据交给磁盘后要等 3 格才能继续。如果整个程序只有一条线,这 3 格里处理器【0】。

开始练习 →

并发要解决的事

(任务模型:每个任务写成 (名字, 算的格数, 等的格数)——「算」要占处理器,「等」是等磁盘或网络回话,不占处理器。「算账」的三个任务:核对算 4 等 0,写盘算 1 等 3,心跳算 1 等 5。) 把核对、写盘、心跳三件事交给同一个进程

开始练习 →

响应也是理由

一个只有一条线的程序在算一道 4 格的账,这时用户点了「取消」。按钮要等到【0】。

开始练习 →