您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Java中的同步如何工作

Java中的同步如何工作

在Java中,每个函数Object提供了synchronize在其上锁定或锁定线程的功能。同步方法时,该方法将其对象实例用作锁。在你的示例中,方法bowbowBack都属于synchronized,并且都位于同一类中Friend。这意味着任何执行这些方法的线程都将在Friend实例上作为其锁进行同步。

一系列将导致死锁的事件是:

为了更详细地显示事件的顺序:

现在,你处于无法执行任何线程的位置。线程#2和线程#3都在等待释放锁。但是,如果没有Thread进展,则无法释放任何锁定。但是没有释放锁,任何线程都无法取得进展。

因此:死锁!

死锁通常取决于发生的事件的特定顺序,这可能使调试变得困难,因为它们可能难以重现。

java 2022/1/1 18:13:37 有572人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶