Java Cơ Bản - Synchronization Đồng bộ hoá Thread

preview_player
Показать описание
Synchronization hay còn gọi là đồng bộ hoá các Threads với nhau để truy xuất vào một hàm, biến hoặc một khối code của cùng một đối tượng. Thread nào vào trước sẽ chiếm giữ và khóa lại, theo đó, các câu lệnh sẽ được chạy tuần tự, sau khi thực hiện xong sẽ mở ra cho thread khác tiếp tục vào. #java #hocjava #hoclaptrinh #javaonline #javatutorial
Рекомендации по теме
Комментарии
Автор

Race conditional 😁Tiện cho em hỏi synchronize này sử dụng cơ chế lock semarphore hay mutex ạ?

thinhnguyenvan
Автор

cho em hỏi là, tong là field của 2 thread object, tức là mỗi object đều có tong = 1000. Do vậy sau khi gọi hàm, tong của mỗi thread phải đều là 0 chứ ạ ?

lampark
Автор

Anh em ai ra kết quả = 0 là chính xác nhé không cần phải lo lắng. Chúng ta chỉ cần quan tâm đến synchronized trong Contructor ruttien. khi t1 đang quện ruttien, lúc này giá trị là 1000>0 nó sẽ thực hiện tính toán -1000 sau đó in ra kết quả 0. đến t2 vào nện tiếp ruttien lúc này giá trị 0<=0 rõ ràng nó sẽ in ra Hết tiền. Còn việc Eclipse hiển thị kết quả -1000 mình nghĩ là có vấn đề.

hungchip
Автор

anh ơi cho em hỏi nếu những phương thức không phải của thread hay runable mà được đồng bộ hóa và nó ko có start thì khi các đối tg truy cập đến phương thức đó thì nó có đặc điểm gì v anh?

nguyenhoanganhk
Автор

Anh ơi, tại sao Cách : Implements Runnable làm thì bị dính : - 1000 ; Còn em làm cách Extends Thread thì không bị dính mà chỉ xuất hiện 0 thôi ạ ??

tranquangvan