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

Làm thế nào để việc đồng bộ hóa thread xảy ra bên trong một monitor?

Câu trả lời

Trong Java, việc đồng bộ hóa thread xảy ra bên trong một monitor thông qua việc sử dụng từ khóa synchronized. Monitor là một cơ chế đồng bộ hóa cung cấp khả năng kiểm soát truy cập đến một phần mã hoặc tài nguyên được chia sẻ từ nhiều thread, để đảm bảo rằng chỉ có một thread có thể thực hiện phần mã đó tại một thời điểm.

Cách sử dụng từ khóa synchronized:

  1. Synchronized Method: Bạn có thể định nghĩa một phương thức là synchronized, điều này sẽ yêu cầu mọi thread 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 đó.

    public synchronized void synchronizedMethod() {
        // chỉ một thread có thể thực thi đoạn mã này tại một thời điểm
    }
  2. Synchronized Block: Bạn cũng có thể sử dụng một khối synchronized bên trong một phương thức, cho phép bạn chỉ đồng bộ hóa một phần của phương thức hoặc đồng bộ hóa trên một đối tượng cụ thể.

    public void method() {
        Object lock = new Object();
        synchronized(lock) {
            // chỉ một thread có thể thực thi đoạn mã này tại ...
middle

middle

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

middle

Có thứ gì giống như static-class trong Java không?

middle

Sự khác biệt giữa ArrayArrayList là gì? Khi nào bạn sẽ sử dụng Array thay vì ArrayList?

middle

Bạn có thể truy cập biến non-static trong static context không?

Bình luận

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

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