Từ khóa synchronized là tất cả về việc đọc và ghi các thread khác nhau vào các biến, đối tượng và tài nguyên giống nhau. Từ khóa synchronized là một trong những công cụ giúp chuỗi mã của bạn an toàn.
Các phương thức synchronized thiết lập một chiến lược đơn giản để ngăn chặn sự can thiệp của thread và lỗi đồng nhất bộ nhớ: nếu một đối tượng hiển thị cho nhiều hơn một thread, thì tất cả việc đọc hoặc ghi vào các biến của đối tượng đó được thực hiện thông qua các phương thức synchronized. Các phương thức synchronized không thể được gọi cùng một lúc từ nhiều thread.
Vì vậy, nói một cách đơn giản khi bạn có hai thread đang đọc và ghi vào cùng một 'tài nguyên', chẳng hạn như một biến có tên foo, bạn cần đảm bảo rằng các thread này truy cập biến theo cách nguyên tử (atomic way). Nếu không có từ khóa synchronized, thread 1 của bạn có thể không nhìn thấy thay đổi mà thread 2 thực hiện lên foo, hoặc tệ hơn, nó có thể chỉ được thay đổi một nửa. Đây sẽ không phải là những gì mà bạn mong đợi.