有一个问题想请教下大家,如果有3个线程在竞争,线程1是不满足条件的,线程23满足,当线程1争夺到锁,但不满足条件进去wait set,线程23继续争夺,当线程2争夺到锁的时候,线程3在哪呢,会自动进入wait set吗?
线程3在没有争夺到锁的情况下肯定不会进入Wait Set等待了。这和你刚开始说的当线程1争夺到锁,而2、3没有争夺到时情况应该是一样的,CPU应该是还没有机会执行这条线程。一家之言。
我的理解是线程3,应该是执行到锁前,等待线程2执行完毕,与线程1、2一同竞争锁;