考虑这个课程:
data = json.dumps(slack_data)
response = requests.post(
URL, json={"text": data},
headers={'Content-Type': 'application/json'}
)
当一个线程调用thread1-调用方法blockingPut(),并假设被占用为假时,因此thread1首先获取SynchronizedBuffer对象上的监视器锁,然后它将被占用的值设置为true,然后它发出一个调用to displayState(),这是我不明白的地方。 当thread1想要执行方法displayState()的try-block中的第一个语句时,它怎么能再次锁定这个SynchronizedBuffer对象,虽然它在blockingPut()之前已被锁定?(同样的问题我有方法blockingGet()但是没有需要提一下,因为答案是一样的)