最近,我发现自己不得不写下我对正在开发的应用程序中的竞争条件的一些担忧(不是我自己写的)。这可能会引起非技术利益相关者的注意,并且与我没有直接的沟通渠道,因此我的解释需要以书面形式。
我已经尝试过写这篇文章。我尽我所能掩盖技术细节,举例说明竞争条件如何在应用程序中发生,并描述其影响。我觉得我做得很好,但远非完美。
问题是,尽管我试图让读者远离计算机科学,但我仍然发现很难在不失去正确性和实质的情况下消除“执行线程”和“互斥”等短语。风险在于,如果挥手过多,这些担忧可能会被认为是虚构的恶作剧。
无论如何,我对你的问题是: 你将如何向非技术观众解释比赛条件? 你敢解释 CPU 调度吗?你会请吃饭的哲学家吗?
你不必在我的情况下工作(但如果你这样做会非常有帮助)。