Câu hỏi phỏng vấn Java
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 ...
middle

middle

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

middle

Reflection là gì và tại sao nó lại hữu ích trong Java?

senior

Sự khác giữa một Non-static nested class và một Static nested class trong Java là gì?

junior

Exception trong Java là gì?

Bình luận

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

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