【问题标题】:How to implement multi threading in Angular?如何在 Angular 中实现多线程?
【发布时间】:2019-10-01 08:40:50
【问题描述】:

https://www.npmjs.com/package/threads

在我看来,我们可以在 Angular 中使用这个包来运行线程。 但我觉得实现这一点有困难。 无论如何在Angular中使用线程? 如何在 Angular 中使用线程?

【问题讨论】:

  • 我认为我们可以使用 rxjs 的 forkjoin。

标签: javascript angular multithreading


【解决方案1】:

Angular 没有“线程”,顺便说一下,在不同的上下文、环境、平台、CPU 和操作系统中,这可能意味着许多不同的东西。线程可以是实现并行的一种方式;或者它们可以将您的代码组织为一组并发进程;或者它们可以成为管理对共享资源的访问的一种方式;或以上任何或全部。

Angular 在浏览器中工作。浏览器运行 JavaScript。在浏览器世界中,我们最接近线程的是 web workers。为了大大简化,Web Worker 不是轻量级线程。换句话说,您不想创建 100,000 个。但是,如果您正在寻找一种简单的方法来从主浏览器任务中卸载一些计算,这样它就不会在您计算时锁定浏览器,那么您可能对 Web Worker 感兴趣。

Web 工作者实际上并不需要任何特殊的库、包装或脚手架。它们很容易直接编写。但是,如果您对在 Angular 上下文中促进使用 Web Worker 的过程感兴趣,那么请在 Google 上搜索“Angular Web Workers”。

我对你提到的图书馆没有特别的了解。乍一看,它似乎是一种在适用于 node.js 平台和浏览器的不同线程实现上抽象并发算法的方法。如果你打算在 Angular 中工作,那么很可能 node.js 平台部分是无关紧要的,所以整个库都不是你应该感兴趣的。

【讨论】:

  • 嗨,@torazaburo。感谢您的回复。如果我必须使用网络工作者,那么我该如何实现呢?
  • @artgb 按照网络上随处可见的众多教程和介绍中的任何一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多