忘了 start
造了三条线程,却忘了写 start()。结果是【0】。
开了几条、活着几条
(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 造三条线程指向 fetch(先不 j
补全:造一条线程并启动
(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 补全:造一条线程跑 fetch(参数
补全:一次开六条
(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 补全:对 SOURCES 的每一项造
补全:给线程起名字
(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 补全:造线程时用 name= 给每条
join 是什么
t.join() 的意思是【0】。
不 join 就看结果
主线程到了门口站住,等三条线到齐 六条线程 start 之后主线程立刻去数结果列表。最可能看到的是【0】。
join 的顺序
六条线程都 start 了,主线程按顺序对每条 join。最慢的那条要 0.10 秒,最快的 0.02 秒。全部 join 完总共等了大约【0】。
start 一条 join 一条
主线程到了门口站住,等三条线到齐 把「全部 start 再全部 join」写成「每造一条就 start 并立刻 join」。效果是【0】。
join 前后
(每道题开头都有同一段:六个来源 SOURCES,每项是 (名字, 要等的秒数, 字节数);fetch(name, wait, size) 睡 wait 秒后交回 size——「等」的时候别人能干活。) 六条线程 start 之后,先看活着