Đồng bộ hoá tuyến • Việc các tuyến trong chương trình cùng truy nhập vào một đối tượng có thể sẽ đem lại kết quả không như mong muốn. Ví dụ: Tuyến A cập nhật đối tượng X và tuyến B đọc dữ liệu từ X. Rất có thể xảy ra sự cố là tuyến B đọc dữ liệu chưa được cập nhật. • Đồng bộ hoá tuyến (thread synchronization) giúp cho tại mỗi thời điểm chỉ có một tuyến có thể truy nhập vào đối tượng còn các tuyến khác phải đợi. Ví dụ: Trong khi tuyến A cập nhật. | Vòng đời của tuyến 7. 7 0 7 wa iting . A start . . q uantum exp iratio n yield I interrupt . running ready .- d isp atch a ssig n a processor slee ping 1 1 . . dead . blocked . . sleep interval . . . expires . 21 Đồng bộ hoá tuyến Việc các tuyến trong chương trình cùng truy nhập vào một đối tượng có thể sẽ đem lại kết quả không như mong muốn. Ví dụ Tuyến A cập nhật đối tượng X và tuyến B đọc dữ liệu từ X. Rất có thể xảy ra sự cố là tuyến B đọc dữ liệu chưa được cập nhật. Đồng bộ hoá tuyến thread synchronization giúp cho tại mỗi thời điểm chỉ có một tuyến có thể truy nhập vào đối tượng còn các tuyến khác phải đợi. Ví dụ Trong khi tuyến A cập nhật X thì tuyến B chưa được đọc. 22 Đồng bộ hoá tuyến Dùng từ khoá synchronized trên các phương thức để thực hiện đồng bộ hoá. Đối tượng khai báo phương thức synchronized sẽ có một bộ giám sát monitor . Bộ giám sát đảm bảo tại mỗi thời điểm chỉ có một tuyến được gọi phương thức synchronized. Khi một tuyến gọi phương thức synchronized đối tượng sẽ bị khoá. Khi tuyến đó thực hiện xong phương thức đối tượng sẽ được mở khoá. .