当两个或多个线程可以访问共享数据并且它们试图同时更改它们时,就会发生竞争状态。因为线程调度算法可以随时在线程之间交换,所以我们不知道线程尝试访问共享数据的顺序。因此,数据更改的结果取决于线程调度算法,即两个线程都在“竞争”访问/更改数据。