单线程java程序中的死锁

Aje*_*jex 5 java deadlock

读取死锁可能发生在单线程java程序中.我想知道毕竟不会有任何竞争.据我所知,书籍说明了多个主题的例子.如果单个线程可以发生,你能举个例子吗?

Mic*_*rdt 6

这是你如何定义"死锁"的问题.

例如,这种情况有点现实:使用大小限制队列的单线程应用程序,当达到其限制时阻塞该队列.只要没有达到限制,这将适用于单个线程.但是当达到限制时,线程将永远等待(不存在的)其他线程从队列中取出某些东西,以便它可以继续.

  • 我不认为这是一个僵局.或者`while(true){}`是一个死锁 (3认同)

phi*_*ipk 0

不。

死锁是多个线程(或进程)尝试获取锁但两者都无法继续的结果。

考虑维基百科文章中的引用:( http://en.wikipedia.org/wiki/Deadlock )

“当两列火车在十字路口相遇时,两列火车都应完全停止,并且在另一列火车离开之前,不得再次启动。”