使用iframe进行多线程处理

时间:2011-08-06 13:42:43

标签: javascript multithreading iframe

我正在尝试使用iframe模拟多线程,但我遇到了一种情况,我不知道它是否真的自己使用iframe进程(线程)。

例如,如果我调用一个放在iframe中的方法,它是使用iframe创建的线程运行还是使用主父窗口线程运行?

如果是后者,则可以更改范围,以便iframe调用该方法(以便程序使用与父窗口不同的线程)

编辑: 也许我应该更清楚这一点,但我不想仅仅因为我无法访问DOM元素而使用WebWorkers。

2 个答案:

答案 0 :(得分:4)

如果您想运行一些后台任务,请使用WebWorkers

通常,您不需要多线程js代码。你应该使用事件循环。

答案 1 :(得分:1)

从MDN文档中查看Using web workers

  

Worker接口产生真正的操作系统级线程,并发性可以   如果你不小心,会在代码中产生有趣的效果。然而,   在网络工作者的情况下,精心控制的沟通   与其他线程的点意味着它实际上很难导致   并发问题。无法访问非线程安全组件   或DOM,您必须将特定数据传入和传出线程   通过序列化对象。所以你必须努力工作   代码中的问题。

John Resig在2009年就此主题写了Computing with JavaScript Web Workers n。但是,根据When can I use,在IE10之前没有IE支持,因此它可能不适合您的需求。

相关问题