Jea*_*sen 4 parallel-processing concurrency
在并发编程中,种族和死锁之间的差异和共同点(如果有的话)是什么?一个详细的答案将不胜感激;).
Adr*_*der 10
看一下竞争条件和死锁的描述
比赛条件
当两个线程同时访问共享变量时,会发生竞争条件.第一个线程读取变量,第二个线程从变量读取相同的值.然后第一个线程和第二个线程对值执行操作,然后它们竞争以查看哪个线程可以将值最后写入共享变量.保留最后写入其值的线程的值,因为该线程正在写入前一个线程写入的值.
死锁
当两个线程同时锁定另一个变量然后尝试锁定另一个线程已锁定的变量时,就会发生死锁.结果,每个线程停止执行并等待另一个线程释放变量.因为每个线程都持有另一个线程想要的变量,所以没有任何事情发生,并且线程保持死锁状态.