问答详情
源自:4-4 Java线程交互之深入剖析互斥与同步

关于满足条件的线程等待问题

有一个问题想请教下大家,如果有3个线程在竞争,线程1是不满足条件的,线程23满足,当线程1争夺到锁,但不满足条件进去wait set,线程23继续争夺,当线程2争夺到锁的时候,线程3在哪呢,会自动进入wait set吗?

提问者:weibo_热心市民吴子航_0 2016-05-02 14:48

个回答

  • Wayaye
    2016-05-02 22:20:29
    已采纳

    线程3在没有争夺到锁的情况下肯定不会进入Wait Set等待了。这和你刚开始说的当线程1争夺到锁,而2、3没有争夺到时情况应该是一样的,CPU应该是还没有机会执行这条线程。一家之言。

  • sntatas
    2016-05-02 22:15:29

    我的理解是线程3,应该是执行到锁前,等待线程2执行完毕,与线程1、2一同竞争锁;