假设我有 n 个工人,我可以让他们干活或者同步地检查别人是否完成了工作。
有两个任务 A 和 B , B 需要有 m 个任务 A 完成了才能执行,所以我就要抽调 m 个工人去监工,但当 m>n 时,就会导致没有人实际在工作,就死锁了。
但 n 不能设得>m ,因为如果有 m 个工人都在干活的话,内存会不够。
请问这问题咋解决?
目前我能想到的策略是降低监工的优先级,保证干活的人最先执行,让监工更快地返回结果,增加重试次数(相当于是个异步了)。说到底还是平衡监工和干活人的数量。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.