многопоточность с использованием iframe - PullRequest
5 голосов
/ 06 августа 2011

Я пытаюсь смоделировать многопоточность, используя iframe, но я столкнулся с ситуацией, в которой я не знаю, использует ли он сам процесс (поток) iframe.

Например, если явызвать метод, который лежит внутри iframe, будет ли он работать с потоком, созданным iframe, или с главным потоком родительского окна?

Если это последнее, то можно изменить область видимости так, чтобы iframe вызывал метод (чтобы программа использовала поток, отличный от потока родительского окна)

EDIT: Возможно, мне следовало быть более ясным по этому вопросу, но я не хочу использовать WebWorkers просто потому, что у меня нет доступа к элементам DOM.

Ответы [ 2 ]

4 голосов
/ 06 августа 2011

Если вы хотите запустить некоторые фоновые задачи, просто используйте WebWorkers .

Обычно вам не нужен многопоточный js-код. Вместо этого вы должны использовать циклы событий.

1 голос
/ 06 августа 2011

Взгляните на Использование веб-работников из документов MDN.

Интерфейс Worker порождает реальные потоки уровня ОС, и параллелизм может вызвать интересные эффекты в вашем коде, еслиты не остороженОднако, в случае веб-работников, тщательно контролируемые точки связи с другими потоками означают, что на самом деле очень трудно вызвать проблемы параллелизма.Нет доступа к не поточно-безопасным компонентам или DOM, и вам нужно передавать определенные данные в поток и из потока через сериализованные объекты.Поэтому вам нужно очень усердно работать, чтобы вызвать проблемы в вашем коде.

Джон Резиг написал Вычисления с JavaScript Web Workers n еще в 2009 году по этой теме.Однако, согласно Когда я могу использовать , поддержка IE не поддерживается до IE10, поэтому она может не соответствовать вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...