【问题标题】:execute function with new process like using new thread in java使用新进程执行函数,例如在 java 中使用新线程
【发布时间】:2016-10-24 18:20:19
【问题描述】:

有什么方法可以创建新进程并使其执行一些代码,而主进程也执行一些代码。 在我的代码中,我使用了这样的东西:

<script>
function f1(){//some code
}
setTimeout(f1,delay);
</script>

我的问题是:主进程执行 f1 函数还是新进程?如果是主进程,我如何使用新进程执行 f1 函数。

我尝试过 setTimeout 函数,我看到主进程在延迟时间后执行该函数。

请帮忙。

【问题讨论】:

  • 您必须在其他环境的浏览器中使用脚本吗?常规的 Windows CScript 主机或 NodeJS 都可以让你这样做(即stackoverflow.com/questions/11876281/…
  • JS 是单线程的,事件驱动的。如果您需要更多帮助,您应该说出您想要实现的目标
  • JS 不再是单线程的,但是您当然无法从浏览器控制多个进程(节点具有可以处理的集群模块)。查找关于多线程 JS 的 任何 篇文章会将 OP 引导至 Web Worker,这应该会导致解决方案。
  • 旁注:“使用新进程,例如在 java 中使用新线程”-Java 不使用进程来启动新线程...所以也许启动新进程不是您想要的...

标签: javascript


【解决方案1】:

线程和进程是两个不同的东西。

直到最近 JavaScript 都没有。您可以使用 0 的超时时间来模拟多线程。您仍然可以这样做。

对于真正的多线程,现在您可以使用 Web Workers。我不认为你可以有多个进程,除非你使用一些插件(例如 Java Applets)。

只需在 Wikipedia 中搜索线程、进程和 WebWorkers。

【讨论】:

  • 为什么他们会降低我的声誉,我理解不正确,现在我知道它是什么,请删除你的答案让我删除我的问题
猜你喜欢
  • 1970-01-01
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-28
  • 2010-11-20
相关资源
最近更新 更多