不一致的比例
场景:~/结果.txt 是连跑 25 次的结果,一行一个,说明.txt 写了期望值。对照表列了八个数。 任务:算出「不一致的比例」= 不等于期望值的次数 ÷ 总次数 × 100(取整数),到对照表里查那个数对应的标记。 可操作范围:只在分给
最差的一次
场景:~/结果.txt 是连跑 30 次的结果,一行一个,说明.txt 写了期望值。对照表列了八个数。 任务:找出最差的一次——最小的那个数,到对照表里查它对应的标记。 可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何东西,不
写一个重复跑的脚本
场景:~/计数/计数.py 是读-睡-写的计数器。手工跑很多次太累。说明.txt 写了要跑几次。 任务:写 ~/重复.sh:把 计数.py 跑那么多次,每次打印的数一行一个写进 ~/结果.txt(脚本每次运行都重新生成这个文件,不要追加到旧
写一个统计脚本
场景:~/结果.txt 是连跑 20 次的结果;以后还会有别的结果文件要统计。 任务:写 ~/统计.py,用法 python3 ~/统计.py 结果文件 期望值,只打印一行、格式严格是 总数=N 不一致=M 比例=P%(P 取整数)。写好运
哪份日志来自加锁的程序
场景:~/日志/ 里有三份文件,各是某个版本的计数器连跑 15 次的结果。其中一份来自加了锁的版本。对照表列了八个文件名。 任务:找出来自加锁版本的那一份(它 15 次应该全等于期望值),到对照表里查它的文件名对应的标记。 可操作范围:只在
线程越多越糟吗
场景:~/线程数对比.txt:同一个计数器分别开 2、4、8 条线程各跑 10 次,每行「线程数 N: 十个结果」,说明.txt 写了期望值。对照表列了八个数。 任务:数出每一行里不等于期望值的个数,找出不一致次数最多的那个线程数,到对照表
交付:一个证明脚本
场景:~/计数/ 里有 无锁.py(读-睡-写)和 有锁.py(Lock 包住),参数一样,说明.txt 写了期望值。 任务:写 ~/证明.sh,把两个版本各跑 20 次,统计每个版本「打印的数不等于期望值」的次数,最后只打印两行、格式严格
锁是什么
同一扇门,一次只放一条线过去 门里有人,别的就在门口等 「互斥锁」做的事一句话说是【0】。
拿不到锁会怎样
同一扇门,一次只放一条线过去 门里有人,别的就在门口等 线程甲拿着锁,线程乙也去 acquire。乙会【0】。
锁保护的是什么
说「这把锁保护计数器 n」,准确的意思是【0】。