我知道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)
}
}
答案 0 :(得分:1)
普通Javascript中没有同时执行,因为它是单线程的,这意味着一次运行一个Javascript线程。
在浏览器中,您可以在webWorker(单独的线程)中执行某些任务,但webWorkers的功能非常有限(例如,他们无法以任何方式修改页面)。您可以阅读有关webWorkers here on MDN的内容,如果它们是您正在做的事情的合适工具(它实际上取决于您正在做什么以及您尝试使用结果完成什么)。
在nodejs中,有一些方法可以生成可以同时运行的子进程(即使使用单独的CPU)。
如果您有兴趣创建一个长期运行的流程,那就是&#34;分享&#34;带有其他任务的CPU和&#34;出现&#34;要与其他事物同时运行,您可以按照自己的时间切片,允许其他任务与您的任务交织,例如described here。这不是真正的同时执行,但可能看起来是(取决于具体情况)。