(计算机)竞态条件/竞争条件:在并发或并行系统中,程序的结果会因为多个线程/进程对共享资源的执行顺序与时间差不同而变化,可能导致错误、崩溃或不一致的输出。
/ˈreɪs kənˌdɪʃən/
A race condition can cause unpredictable bugs.
竞态条件可能导致不可预测的漏洞。
When two threads update the same variable without a lock, a race condition may occur and the final value depends on timing.
当两个线程在没有加锁的情况下更新同一个变量时,可能发生竞态条件,最终结果取决于执行时机。
“Race”在这里不是“种族”,而是“赛跑/争先”的意思,指多个执行流(线程或进程)在争夺先后顺序;“Condition”表示“条件/状态”。合起来强调:系统的结果取决于“谁先跑到终点”(先执行到关键步骤)的那种条件。该术语在操作系统与并发编程语境中广泛使用。