gpt4 book ai didi

multithreading - Service 和 Web Worker 之间的技术差异

转载 作者:行者123 更新时间:2023-12-03 13:17:03 27 4
gpt4 key购买 nike

我研究过 Web 和 Service Worker,我知道它们适用于不同的方法。 This thread更详细地描述它们。然而,我不明白的是这两者之间的技术差异。虽然 Service Worker 旨在充当服务器和客户端应用程序之间的代理,但 Web Worker 也可以是这样。它可以访问 XMLHttpRequest,因此您也可以将其用作代理。

Web Worker 和 Service Worker 之间的技术区别是什么?

最佳答案

两者之间的主要区别在于,Service Worker 旨在拦截通常直接发送到远程服务的网络请求并处理事件,以便前端客户端代码即使在网络不可用时也可以继续工作。也就是说,为网络应用程序提供离线模式的基础。前端代码发出标准 fetch() 请求,就好像它正在与被服务工作线程拦截的服务器通信一样。

Web Worker 只是一个通用后台线程。这里的目的是运行后台代码,以便长时间运行的任务不会阻塞主事件循环并导致 UI 缓慢。 Web Worker 不会拦截网络请求,而是由前端代码显式向 Web Worker 发送消息。

关于multithreading - Service 和 Web Worker 之间的技术差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43958155/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com