Làm cách nào tôi có thể triển khai thư viện đa nền tảng của mình (ví dụ trên JRE) để vận hành theo cách an toàn luồng trên các tham chiếu đối tượng, để giao diện người dùng gốc trên các nền tảng khác có thể quan sát đối tượng và tận dụng các mẫu có thể quan sát được?
Một chút nền tảng - có một khái niệm về ràng buộc dữ liệu được sử dụng trong hầu hết các khung công tác mặt trước. Trong C # và Java, điều này có liên quan đến đặc điểm có thể quan sát được, cung cấp cho một lớp khả năng thực hiện các sự kiện khi có thay đổi, trong đó nhiều điều khiển hoặc "người quan sát" có thể đăng ký. Bằng cách này, các nhà quan sát không phải tiếp tục bỏ phiếu / đọc tài nguyên, so sánh các bản cập nhật.
Tôi muốn làm việc trên một công cụ phân tích thực hiện thay đổi danh sách dữ liệu theo thời gian. Thật tuyệt khi có thể có mặt trước có thể quan sát các danh sách này trong khi phân tích đang chạy. Dường như với tôi, điều này đòi hỏi front-end có thể chuyển một đối tượng đến công cụ phân tích, được viết trong một thư viện hy vọng là đa nền tảng và có thể thực hiện đọc an toàn luồng cho đối tượng đó. Hoặc nếu không, có thư viện đáp ứng các hợp đồng quan sát.
Cách xử lý này trong các công cụ CLI kiểu Unix cũ là sử dụng stdin / stdout / stderr và cập nhật bài đăng động cơ theo định kỳ. Điều này đòi hỏi chi phí tiêu chuẩn và phân tích văn bản mà tôi muốn tránh, nếu có thể.