Tôi có các đối tượng mà tôi cần hiển thị trong 1 chuỗi và cũng liên tục cập nhật trong chuỗi 2.. Có cách nào được khuyến cáo cho Java trên Android để xử lý loại truy cập này (khóa/mở khóa) cho một đối tượng như một mutex hay một cái gì đó như thế?Phương pháp được khuyến nghị để đồng bộ hóa quyền truy cập vào một đối tượng trong Java cho Android là gì?
5
A
Trả lời
3
Nếu bạn muốn đồng bộ hóa giữa các chuỗi thì nó giống với Java ở bất kỳ nơi nào khác: không có gói android.concurrent đặc biệt.
Android có một số lớp giúp đồng thời nói chung như Handler & AsyncTask nhưng đó là nhiều hơn về việc chuyển đổi ngữ cảnh chuỗi. Tuy nhiên, chúng có thể là câu trả lời cho câu hỏi của bạn: nếu được sử dụng đúng cách, bạn có thể không cần phải đồng bộ hóa.
0
Có một triển khai khóa trong Android (java.util.concurrent.locks.Lock) "Khóa là công cụ để kiểm soát quyền truy cập vào tài nguyên được chia sẻ theo nhiều chuỗi". Tại đây: http://developer.android.com/reference/java/util/concurrent/locks/Lock.html. Truy cập giao diện người dùng đa luồng có một chút khác biệt.
Trình xử lý và AsyncTask chắc chắn sẽ là cách để HardCoder đi vì Dalvik rất nhạy cảm về việc cho phép bạn truy cập vào hệ thống phân cấp Xem từ bất kỳ đâu ngoài luồng giao diện người dùng chính. – scriptocalypse