Workers JSNI at GWT svn Có vẻ như WebWorkers chưa được triển khai đầy đủ. Tôi biết rằng nguyên tố đang ở giai đoạn phát triển ban đầu nhưng có thể ai đó đã cố gắng làm cho nó hoạt động?WebWorkers in GWT Elemental
Trả lời
Vấn đề với nhân viên web là chúng không thực sự phù hợp với mô hình GWT/Java chuẩn - theo ý kiến của tôi, chúng hầu như không vừa với mô hình JS chuẩn.
Nhân viên web hoạt động bằng cách truyền dữ liệu qua lại giữa các máy ảo JavaScript cơ bản khác nhau. Dữ liệu đó phải ở dạng một chuỗi và mỗi công nhân phải tải riêng JS của nó. Điều này có nghĩa là không có biến nào được khai báo trong một công nhân (hoặc trang chính) có thể truy cập từ một nhân viên khác, trừ khi nó được chuyển như một phần của dữ liệu chuỗi, được đẩy qua lại giữa các công nhân.
Vậy cách tính năng này hoạt động khi bạn xem xét GWT/Java? Từ phối cảnh Java, điều này không tương đương với nhiều luồng, nhưng nhiều JVM! Các quy trình khác nhau chỉ có thể giao tiếp bằng cách truyền các chuỗi (hoặc quan trọng hơn, không phải các đối tượng Java) qua lại và không thể chia sẻ bất kỳ trạng thái nào khác. Thậm chí các biến tĩnh có thể khác nhau giữa hai máy ảo.
Từ liên kết bạn đã đăng, hãy xem nguồn của JsWorker - bạn có thể tạo phiên bản này qua JsWindow.newWorker với url của tập lệnh JS để bắt đầu và JsWorker hỗ trợ các phương pháp để nghe câu trả lời và gửi tin nhắn để cho nó hoạt động.
Tập lệnh đó có thể là đối tượng được biên dịch GWT - nhưng nó sẽ là một mô-đun và điểm nhập riêng biệt so với ứng dụng ban đầu, để nó chỉ có mã có thể chạy hợp lý và không cố bắt đầu vẽ trên trang khi nó tải. Nó có lẽ sẽ cần phải sử dụng một mối liên kết mà sẽ chỉ tải JS, và sẽ không giả định một khung nội tuyến trên 'trang'.
Dự án GWT-NS có một số mẫu công nhân web đã được xây dựng bằng cách sử dụng trình liên kết của riêng họ để xây dựng các tệp js để tải trong công nhân và một số phần tiện lợi khác.
- 1. Phá hủy WebWorkers
- 2. WebWorkers và WebSockets với Firefox
- 3. HTML5/JS - Bắt đầu một số webworkers
- 4. Ext GWT vs GWT-EXT
- 5. Mã GWT HOẶC GWT Designer?
- 6. GWT: Sự khác biệt giữa gwt-user.jar và gwt-dev.jar?
- 7. Sự khác biệt giữa gwt, gwt-rpc, ext-gwt, gwt thông minh
- 8. Integration GWT Xuân An (PURE GWT, NO JSP)
- 9. GWT removeClickHandler
- 10. Học GWT
- 11. GWT IncompatibleRemoteServiceException
- 12. "Pretty thời gian" cho GWT
- 13. GWT các ô có thể kéo của tế bào GWT
- 14. GWT bookmarket hoặc GWT như một thư viện bên ngoài
- 15. GWT tương đương với Lưới trực tiếp của Smart-GWT
- 16. GWT: Cách xử lý Nhấn vào GWT FlowPanel
- 17. Sự khác biệt giữa gwt-ext và ext-gwt
- 18. GWT 2 CssResource cách
- 19. GWT - RPC SerializationException
- 20. GWT Custom Serialization Issue
- 21. Sử dụng NotificationMole trong GWT
- 22. GWT: FlexTable vs Bảng
- 23. Phím Shift trong GWT?
- 24. Django + GWT hoặc Jquery
- 25. Cách tạo GWT JsArray?
- 26. gwt base64 image
- 27. GWT - Nhiều mô-đun?
- 28. Nút liên kết GWT
- 29. Blog GWT hay nhất?
- 30. Tích hợp GWT Mockito
Câu trả lời hoàn hảo. Cảm ơn bạn! – JAre