如何命名一個線程被鎖定的情況,永久等待?我發現,什麼時候兩個線程碰撞,這就是所謂的幾個例子race condition:Posix線程鎖定:永久等待
A race condition occurs when two or more threads
can access shared data and they try to
change it at the same time
但是,當一個線程是stuck waiting forever for another thread,沒有任何特定術語來命名這種情況,或者還它仍然被命名爲競爭條件,即使我們有兩個線程不會嘗試同時訪問共享數據,但是相反......其中一個線程被鎖定,永遠等待第二個線程?
它被稱爲死鎖。 –
..或可能活鎖,如果線程在100%的CPU。 – ThingyWotsit
這取決於線程爲什麼在等待。如果線程1正在使用一個資源,然後開始等待另一個資源是空閒的,但是這個其他資源永遠不會被釋放,因爲線程2聲稱它正在等待資源線程1擁有,這就是死鎖(並有幾個版本的相同的東西,但他們都大致相同的想法)。如果其中一個線程在另一個線程中等待,另一個線程永遠不會因其他原因而結束(例如無限循環),這只是一個無限循環。 –