竞态条件:在并发/并行执行(如多线程、异步任务、多个进程)中,程序的结果取决于不同操作的执行先后顺序或时间点;如果缺少正确的同步机制,可能导致不一致、难以复现的错误。(也可指“比赛条件/赛况”,但在计算机领域最常用的是并发漏洞这一义项。)
/ˈreɪs kənˌdɪʃən/
A race condition can cause the program to crash sometimes.
竞态条件可能会导致程序偶尔崩溃。
Because two threads update the same variable without a lock, the final value depends on timing—a classic race condition that is hard to reproduce.
由于两个线程在没有加锁的情况下更新同一个变量,最终结果取决于时序——这是一种典型且难以复现的竞态条件。
“Race”原意是“竞赛、争先”,引申为“谁先发生”的竞争;“condition”指“条件、状况”。合起来表示:当多个操作“抢先”发生时,程序行为在某种“条件/时序”下发生变化,因此称为 race condition(竞态条件)。