在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  C  Linux/ 線程等待與喚醒為什么一定要鎖?

線程等待與喚醒為什么一定要鎖?

任意線程 X 對任意線程 Y 執(zhí)行 wait()、notify() 方法時,都需要先獲取鎖。
話說鎖機制是為了解決臨界資源問題,那么讓線程啟動和暫停訪問了什么臨界資源嗎?
可不可以不通過鎖,而通過類似于中斷、消息的方式實現(xiàn)線程的等待與喚醒呢?
求各位大佬不吝賜教。

回答
編輯回答
孤客

wait()和nitify()就是用來解決臨界資源的問題的,一個臨界資源在一個線程中由于其他的原因,這個線程不能執(zhí)行,我們就需要將這個臨界資源執(zhí)行wait(),讓其他線程能夠調(diào)用這個臨界資源。
如果按你所說的話,不是臨界資源,那么就不需要使用wait方法,因為不影響其他線程,其他線程根本不會阻塞

2018年6月26日 12:37
編輯回答
晚風(fēng)眠

等待和喚醒對象就是臨界資源,否則線程為什么要等待呢,是不是。

2018年8月2日 18:31