Javascript react-native中的多线程

Javascript react-native中的多线程,javascript,multithreading,react-native,react-native-android,web-worker,Javascript,Multithreading,React Native,React Native Android,Web Worker,我有一个React本机应用程序,我想使用并行编程(我想使用平板电脑的所有核心) 我尝试了paralleljs和hambers.js库,但它们没有用。一个不支持RN,另一个目前存在一些BLOB问题 所以,我决定使用网络工作者。在对它进行了一些搜索(从MDN等)之后,我意识到我可以单独使用WebWorkers而不是所有这些库。但是我不能百分之百肯定。还有其他为RN设计的库,比如react native workers,但都有很多问题 我的问题是如何使用纯JS代码在本机应用程序中使用多线程和/或并行编

我有一个React本机应用程序,我想使用并行编程(我想使用平板电脑的所有核心)

我尝试了
paralleljs
hambers.js
库,但它们没有用。一个不支持RN,另一个目前存在一些BLOB问题

所以,我决定使用网络工作者。在对它进行了一些搜索(从MDN等)之后,我意识到我可以单独使用WebWorkers而不是所有这些库。但是我不能百分之百肯定。还有其他为RN设计的库,比如react native workers,但都有很多问题


我的问题是如何使用纯JS代码在本机应用程序中使用多线程和/或并行编程?还是还不可能呢?

这位官员说React Native可以实现某种本机模块桥,以利用高级扩展。我不确定使用多线程和/或并行编程想要实现什么,但是使用纯JavaScript,您可以做类似的事情

例如,这是一种使用JavaScript的并行编程

setTimeout(() => {
  // One time-consuming logics
});
setTimeout(() => {
  // Another time-consuming logics
});
你也可以用承诺。它还为我们提供了一种轻松处理并行编程的方法()


但是,如果您想执行读取多线程,这并不容易。您必须编写自己的扩展代码,以连接本机代码和响应本机代码。当然,这实际上不再是一个纯JS,但这是React Native的优势。您可以创建自己的扩展来使用JavaScript中的本机模块。

您可以使用WebView,它将在后台线程中运行JS。
setTimeout(() => {
  // One time-consuming logics
});
setTimeout(() => {
  // Another time-consuming logics
});
因为在webview内部,它是Webkit的另一个实例,所以在其中运行的JS根本不会阻止应用程序UI


阅读此博客帖子了解更多详细信息:

既不
setTimeout
也不
newpromise
在新线程上运行代码。它们都只在主线程上运行,但优先级不同,并利用事件中断。