使用Thread.sleep()方法來進行線程等待:Thread.sleep()方法會讓當前線程休眠一段時間,而不會釋放鎖資源,不適合用于實現線程間的等待和通知機制。
使用Thread.join()方法來進行線程等待:Thread.join()方法會讓當前線程等待目標線程執行完畢,但是如果目標線程一直沒有執行完畢,會導致當前線程一直阻塞,可能會引發死鎖問題。
使用busy-waiting(忙等):忙等是指在循環中不斷地進行條件判斷,直到條件滿足才跳出循環。這樣的做法會消耗CPU資源,不推薦使用。
不正確地使用wait()和notify()方法:在使用wait()和notify()方法時,必須在synchronized塊中進行操作,否則會導致IllegalMonitorStateException異常。
不正確地使用Object類的wait()方法:在使用Object類的wait()方法時,必須在while循環中判斷條件,而不是用if語句,否則可能會出現虛假喚醒的情況。