补全:到点该跑哪些

(每道题开头都有同一段:上面的池小工具。) 本节的定时/后台任务模型: due(events, now) events=[(名字, 到点时刻)];到 now 为止该跑的任务名(at <= now,按名字排) run_order(e

开始练习 →

补全:排出执行顺序

(每道题开头都有同一段:上面的池小工具。) 本节的定时/后台任务模型: due(events, now) events=[(名字, 到点时刻)];到 now 为止该跑的任务名(at <= now,按名字排) run_order(e

开始练习 →

补全:周期任务跑几次

(每道题开头都有同一段:上面的池小工具。) 本节的定时/后台任务模型: due(events, now) events=[(名字, 到点时刻)];到 now 为止该跑的任务名(at <= now,按名字排) run_order(e

开始练习 →

池比手写好在哪

用线程池比自己手写「一个任务一个线程」好在【0】。

开始练习 →

什么时候手写更合适

反过来,自己手写线程比用池更合适的场景是【0】。

开始练习 →

池 vs 手写建几个线程

(每道题开头都有同一段:上面的池小工具。) 贯穿全条的池小工具(标准库 ThreadPoolExecutor:固定 workers 个线程复用): pool_sum(fn, args, workers) 池对每个参数跑 fn,交回所

开始练习 →

复用省了多少次建销

(每道题开头都有同一段:上面的池小工具。) 贯穿全条的池小工具(标准库 ThreadPoolExecutor:固定 workers 个线程复用): pool_sum(fn, args, workers) 池对每个参数跑 fn,交回所

开始练习 →

补全:各建几个线程

(每道题开头都有同一段:上面的池小工具。) 贯穿全条的池小工具(标准库 ThreadPoolExecutor:固定 workers 个线程复用): 补全 counts(ntasks, workers):交回 (池建几个线程, 手写一任务一线

开始练习 →

补全:省了多少次建销

(每道题开头都有同一段:上面的池小工具。) 贯穿全条的池小工具(标准库 ThreadPoolExecutor:固定 workers 个线程复用): 补全 saved(ntasks, workers):用池比手写省几次建线程(省 = 任务数

开始练习 →

补全:用池跑批量(复用)

(每道题开头都有同一段:上面的池小工具。) 贯穿全条的池小工具(标准库 ThreadPoolExecutor:固定 workers 个线程复用): pool_sum(fn, args, workers) 池对每个参数跑 fn,交回所

开始练习 →