繁体   English   中英

从专门的工作人员访问共享工作人员

[英]Access a shared worker from a dedicated worker

是否可以访问由同一主线程创建的专用工作程序中在主线程中创建的共享工作程序? 我最初的想法不是,因为这可能会导致很多并发问题,但是我对WebWorkers的内部还没有完全的了解,尚未做出决定。

我的用例是让专门的工作人员与服务器一起打开Web套接字通道,以检索流数据源。 然后,该数据将被发送到共享工作器中,该共享工作器将提供操作这些数据的功能并通过可传输对象返回结果。 我不想将这些对象组合到一个工作器中,因为我希望能够插入不同的模块来进行数据操作,并且不想复制代码来与Web套接字通信。

是否可以访问由同一主线程创建的专用工作程序中在主线程中创建的共享工作程序?

是。 只需将SharedWorker创建为子工作者(它将被共享),或在共享工作者和专用工作者之间创建MessageChannel

这可能会导致很多并发问题

否。跨员工通信是事件且异步的。

然后,该数据将被发送到共享工作器中,该共享工作器将提供操作功能

听起来好像并不需要共享工作器。 对于“提供功能”,将一个简单的库加载到专用工作程序中(该工作程序进行websocket通信)就足够了。 您甚至可以使用worker中的某种依赖性管理来动态加载库。 无需重复Web套接字代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM