Làm thế nào để việc đồng bộ hóa thread
xảy ra bên trong một monitor
?
Làm thế nào để việc đồng bộ hóa thread
xảy ra bên trong một monitor
?
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.
synchronized
: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
}
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
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào