顺序版跑一遍看差多少

场景:抓取器有顺序模式(看开头用法)。 任务:用顺序模式跑一次(一个来源抓完再抓下一个),让 ~/out/报告.txt 记录这一次。跑完运行 ~/check,它核对报告里的方式、任务数和用时。 可操作范围:只在分给你的这台实验机上操作。可以

开始练习 →

自己写五条线程

场景:说明里给了五个名字。 任务:写一个 ~/并行.py:开五条线程,各自先睡 2 秒,然后把自己的名字写进 ~/out/<名字>.txt(内容就是名字)。整个程序必须在 4 秒内跑完并退出(一个个做要 10 秒)。写好后运行

开始练习 →

报告写早了

场景:~/主程序.py 和抓取器几乎一样,但跑完 ~/out/报告.txt 里写的是「完成 0/8」——线程明明都在抓。 任务:找出原因,修好主程序.py,让报告写「完成 8/8」,程序 8 秒内正常退出。修好后运行 ~/check。 可操

开始练习 →

交付:并发汇总

场景:~/源/ 里八个来源文件,每个两行「等待 秒数」「字节 数」。规矩:读一个来源必须先睡够它的秒数(模拟网络),才能用它的字节数。 任务:写一个 ~/汇总.py,把八个来源的字节数加起来写进 ~/out/汇总.txt(只写一个数)。八个

开始练习 →

程序为什么退不出

主线程的代码全部跑完了,程序却一直不退出。最常见的原因是【0】。

开始练习 →

从线程表里认出卡住的

真机上 ps -L -o stat,comm 打出进程里每条线程的状态和名字。要在脚本里挑出「还活着的工人」,先在这里练: lines = ["Ssl 服务", "Ssl 服务-心跳", "

开始练习 →

哪条线程没结束

场景:~/服务.py 已经在后台跑起来了(开头有说明):四个工人线程领任务,做完就该结束。可它一直不退出。对照表按线程名配了标记。 任务:查出是哪条工人线程一直没结束,到对照表里查它的名字(形如 服务-x)对应的标记。 可操作范围:只在分给

开始练习 →

还剩几条线程活着

场景:~/服务.py 已经在后台跑起来了:四个工人线程 + 一条心跳线程 + 主线程。有的工人做完了,有的没有。对照表列了八个数。 任务:等它「该做完」之后(几秒就够),查出「服务」这个进程里现在还活着几条线程(含主线程),到对照表里查这个

开始练习 →

哪条在等一个不会来的信号

场景:~/服务.py 已经在后台跑起来了:两条工人线程一直没结束——一条在死循环空转,一条在等一个永远不会来的信号。对照表按线程名配了标记。 任务:找出「在等信号」的那条线程,到对照表里查它的名字对应的标记。⚠️ 空转的和等待的都「没结束」

开始练习 →

工人做完了却不退出

场景:~/服务.py 的四个工人线程把任务都做完了,程序却一直不退出(跑一下试试,Ctrl-C 能停)。 任务:找出工人线程为什么不结束,修好服务.py:任务做完工人就该退出,程序 10 秒内正常结束,~/out/报告.txt 写「完成 4

开始练习 →