So sánh phương thức sleep()
và wait()
trong Java?
So sánh phương thức sleep()
và wait()
trong Java?
Trong Java, sleep()
và wait()
là hai phương thức được sử dụng để tạm dừng thực thi của luồng, nhưng chúng có mục đích và cách sử dụng khác nhau:
sleep()
là một phương thức tĩnh của lớp Thread
được sử dụng để tạm dừng thực thi của luồng hiện tại cho một khoảng thời gian cụ thể (được chỉ định bằng mili giây).sleep()
, luồng đó chuyển sang trạng thái "TIMED_WAITING" và không giữ bất kỳ khóa nào mà nó có; sau khi thời gian chờ kết thúc, luồng sẽ trở lại trạng thái "RUNNABLE" và chờ lên lịch thực thi.sleep()
thường được sử dụng để tạm dừng thực thi trong một khoảng thời gian cố định mà không ảnh hưởng đến các luồng khác hoặc đồng bộ hóa.wait()
là một phương thức của lớp Object
được sử dụng trong đồng bộ hóa. Một luồng chỉ có thể gọi wait()
trên một đối tượng khi luồng đó giữ khóa của đối tượng đó (nghĩa là trong một khối synchronized
).wait()
trên một đối tượng, luồng đó sẽ giải phóng khóa của đối tượng và chuyển sang trạng thái "WAITING" hoặc "TIMED_WAITING" (nếu một thời gian chờ được ...middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào