Re[16]: html5
От: WolfHound  
Дата: 21.07.11 10:42
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>У меня создается два настоящих потока через HTML5 Web Worker API (Видишь вызов new Worker? Это оно). Внутри каждого из потоков я использую таймер.

А я что сказал?

Ты вызываешь функцию по таймеру.

Раз великий ынжынэр это не понимает то распишу по полочкам, что происходит в твоем коде:

worker.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Вообще вспотеешь это делать!</title>
    <script type="text/javascript">
        //Создаем два отдельных изолированных контекста исполнения
        var worker1 = new Worker('worker.js');
        var worker2 = new Worker('worker.js');
        //Подписываемся на сообщения которые приходят из этих сообщений
        //каллбек раз!
        worker1.onmessage = worker2.onmessage = function handle(event) {
            document.write( event.data );
        };
        //Отправляем сообщения в контексты исполнения
        //Приход сообщения инициирует работу.
        worker1.postMessage({ prefix: "A", delay: 5000 });
        worker2.postMessage({ prefix: "B", delay: 3000 });
    </script>
</head>
<body>
</body>
</html>


worker.js:
//Подписываемся на сообщения приходящие извне
onmessage = function( a_event ){
    var count = 0;
    //Запускаем таймер который будет каждые n миллисекунд вызывать переданную функцию
    //каллбек два!
    setInterval( function(){
        //посылаем сообщение в родительский контекст
        postMessage( a_event.data.prefix + ' ' + count++ );
    }, a_event.data.delay );
};

Это только на таком простом коде три контекста, два каллбека, посылки сообщений и запуск таймера.
При том что в исходном коде ничего этого нет.

G>Ну естественно. Про same origin security policy и JSONP ты, разумеется, тоже не в курсе.

В курсе.
Не нужен.

G>С пионерами спорь. Пока.

Великий ынжынэр опять слился?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.