Câu hỏi

So sánh phương thức sleep()wait() trong Java?

Câu trả lời

Trong Java, sleep()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:

Phương thức sleep()

  • 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).
  • Khi một luồng gọi 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.

Phương thức wait()

  • 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).
  • Khi một luồng gọi 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 ...
Bạn cần đăng nhập để xem
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

JavaBean là gì?

senior

Giải thích về MarshallingDemarshalling trong Java?

middle

Hãy trình bày kiến trúc của Servlet?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào