Câu hỏi phỏng vấn Java
Câu hỏi

Synchronized trong Java là gì?

Câu trả lời

Trong Java, từ khóa synchronized được sử dụng để kiểm soát việc truy cập đồng thời vào một phần mã quan trọng từ nhiều luồng. Khi một phương thức hoặc một khối mã được đánh dấu là synchronized, nó đảm bảo rằng chỉ một luồng tại một thời điểm có thể thực thi phương thức hoặc khối mã đó. Điều này giúp ngăn chặn tình trạng xung đột dữ liệu và đảm bảo tính nhất quán của dữ liệu khi được truy cập bởi nhiều luồng.

Cách hoạt động của Synchronized

  • Synchronized Methods: Khi một phương thức được đánh dấu là synchronized, luồng thực thi phải có được khóa của đối tượng chứa phương thức đó trước khi thực thi phương thức. Nếu một luồng khác đã giữ khóa đó, luồng đang cố gắng truy cập phương thức sẽ phải chờ cho đến khi khóa được giải phóng.
  • Synchronized Blocks: Java cũng cho phép đồng bộ hóa một khối mã cụ thể bên trong một phương thức thay vì toàn bộ phương thức. Điều này cung cấp sự linh hoạt hơn trong việc quản lý việc truy cập đồng thời, cho phép các luồng khác truy cập những phần không đồng bộ của phương thức. Khối `synchroni...
Bạn cần đăng nhập để xem
middle

middle

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

middle

Sự khác nhau giữa Thread.startThread.run trong Java là gì?

senior

Hãy nêu một cách hiệu quả để implement một mẫu singleton trong Java?

middle

Nếu một đối tượng được gán thành null, Garbage Collector trong Java có giải phóng ngay bộ nhớ được giữ bởi đối tượng đó không?

Bình luận

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

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