Workers JSNI at GWT svn 它看起来像WebWorkers尚未完全没有实现。我知道元素处于发展的早期阶段,但可能有人已经试图使其发挥作用?WebWorkers
9
A
回答
15
问题与网络工作者是他们真的不适合标准的GWT/Java模型 - 在我看来,他们几乎没有符合标准的JS模型。
网络工作者通过传递数据来回之间有什么本质上是不同的JavaScript虚拟机的工作。该数据必须以字符串的形式存在,并且每个工作人员必须分别加载其JS。这意味着一个worker(或主页面)中声明的变量不能从另一个worker(或主页面)中访问,除非它作为字符串数据的一部分传递,在工作者之间来回传递。
那么,如何当你考虑GWT/Java的这项工作?从Java的角度来看,这不等同于多个线程,而是多个JVM!不同的进程只能通过传递字符串(或者更重要的是,不是Java对象)来进行通信,并且不能共享任何其他状态。即使两个虚拟机之间的静态变量也可能不同。
从您发布的链接中,查看JsWorker的来源 - 您可以通过JsWindow.newWorker创建此实例,并使用JS脚本的网址开始,JsWorker支持方法来侦听响应并发送它消息给它工作。
该脚本可能是一个GWT编译对象 - 但它将是一个独立的模块和入口点比原来的应用程序,所以它只有它可以合理运行的代码,并不尝试开始在页面上绘图当它加载。它可能需要使用只会加载JS的链接器,并且不会在'页面'上假设一个iframe。
的GWT-NS项目具有一定的网络工作者的样品已经使用自己的连接构造的js文件加载的工人来加载内置,以及其他一些便利作品也是如此。
相关问题
- 1. 破坏WebWorkers
- 2. 使用Firefox的WebWorkers和WebSockets
- 3. importScripts()仅适用于webworkers吗?
- 4. 如何调试共享webworkers?
- 5. 队列和Webworkers与Laravel
- 6. IE 11支持WebWorkers吗?
- 7. 阵营+ WebWorkers,渲染ReactDOMServer.renderToString
- 8. javascript多线程IE8上的WebWorkers
- 9. 使用webGL或webworkers加速画布?
- 10. 如何沟通两个webworkers html5?
- 11. 使用WebWorkers的JavaScript DoS攻击
- 12. 如何使用webworkers加载内联Javascript?
- 13. webworkers中的孤立线程是什么?
- 14. 如何访问webworkers中的websockets?
- 15. Java MultiThreading,Linux Processes和HTML5 Webworkers之间有什么不同? Webworkers和使用的实际例子是什么?
- 16. 10个webworkers创建,但只有9个返回值
- 17. 使WebWorkers成为一个安全的环境
- 18. WebWorkers可以用于超级计算机的电源吗?
- 19. Angular 2 Webworkers Http未捕获(承诺):未实现
- 20. 多个脚本如何在没有webworkers的情况下运行?
- 21. 使CPU绑定的javascript感觉很快响应--- webworkers?
- 22. 带有node.js表单应用程序的Webworkers
- 23. 什么是“自我”关键字意味着WebWorkers
- 24. 可以使用webworkers使时序更精确
- 25. 有没有人在JavaScript中使用webworkers进行大量的搜索来并行化?
- 26. PhantomJS能够与WebWorkers合作吗?当我尝试通过<a href="http://phantomjs.org" rel="nofollow">PhantomJS</a>测试Web工作者它给了我一个错误
- 27. 在Chrome/Firefox中产生大量Web工作者
- 28. 如何使用web工作者使用highlightjs来突出显示源代码块?
- 29. WebRTC DataChannels速度问题
- 30. 在Android Kitkit前模拟Web Workers
完美的答案。谢谢! – JAre 2012-07-07 19:19:43