如何在javascript中同时调用函数?

时间:2015-07-22 05:30:05

标签: javascript jquery multithreading

我知道javascript是单线程语言,并且代码逐行执行。如果用户需要同时调用两个函数如何在javascript中实现?其实我知道在java中有同时运行两个任务的线程我们可以实现这个是我的代码

https://jsfiddle.net/a021oktk/

我需要同时调用这两个函数吗?

oneTask();
secondTask()

function oneTask() {
    for (var i = 0; i < 10; i++) {

        console.log("first loop:" + i)
    }
}

function secondTask() {
    for (var i = 0; i < 10; i++) {

        console.log("second loop:" + i)
    }
}

1 个答案:

答案 0 :(得分:1)

普通Javascript中没有同时执行,因为它是单线程的,这意味着一次运行一个Javascript线程。

在浏览器中,您可以在webWorker(单独的线程)中执行某些任务,但webWorkers的功能非常有限(例如,他们无法以任何方式修改页面)。您可以阅读有关webWorkers here on MDN的内容,如果它们是您正在做的事情的合适工具(它实际上取决于您正在做什么以及您尝试使用结果完成什么)。

在nodejs中,有一些方法可以生成可以同时运行的子进程(即使使用单独的CPU)。

如果您有兴趣创建一个长期运行的流程,那就是&#34;分享&#34;带有其他任务的CPU和&#34;出现&#34;要与其他事物同时运行,您可以按照自己的时间切片,允许其他任务与您的任务交织,例如described here。这不是真正的同时执行,但可能看起来是(取决于具体情况)。