如何命名一个线程被锁定的情况,永久等待?我发现,什么时候两个线程碰撞,这就是所谓的几个例子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拥有,这就是死锁(并有几个版本的相同的东西,但他们都大致相同的想法)。如果其中一个线程在另一个线程中等待,另一个线程永远不会因其他原因而结束(例如无限循环),这只是一个无限循环。 –