线程版最快能到多快

六个来源分别要等 0.02 到 0.10 秒。线程再多,线程版的总时间也不会低于【0】。

开始练习 →

真的量一次

(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 用 time.perf_counte

开始练习 →

按模型算一算

(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 不量,直接按 SOURCES 算:顺

开始练习 →

补全:计时器

(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 补全 time_it(fn):记下开

开始练习 →

补全:线程版

(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 补全 threaded():六条线程

开始练习 →

补全:假并发有多慢

(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 补全 fake():每造一条线程就

开始练习 →

线程函数的 return 去哪了

fetch 有 return,可主线程 join 之后却拿不到它的返回值。因为【0】。

开始练习 →

线程里抛了异常

一条线程里的 fetch 抛了 ValueError,没人接。结果是【0】。

开始练习 →

少了一项

(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) (这一节的 fetch 多了一条:来

开始练习 →

装一个钩子

(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) (这一节的 fetch 多了一条:来

开始练习 →