mozilla

Revision 4947 of Utilisation des web workers

  • Raccourci de la révision : Utilisation_des_web_workers
  • Titre de la révision : Utilisation des web workers
  • ID de la révision : 4947
  • Créé :
  • Créateur : AurelienM
  • Version actuelle ? Non
  • Commentaire page created, 275 words added
Étiquettes : 

Contenu de la révision

Traduction en cours de la page en anglais  Using_web_workers

Les Web Workers permettent d'exécuter du code en tâche de fond. Une fois créé, un worker peut envoyer des messages à son processus père en envoyant des messages qui seront réceptionnés par un gestionnaire d'événement spécifié à la création.

Un thread worker peut effectuer une tâche sans interférer sur l'interface utilisateur. De plus, ils peuvent utiliser XMLHttpRequest pour les flux I/O (néanmoins les attributs responseXML et channel seront null)

Aller sur la page Worker pour avoir une documentation complète sur le sujet. Cet article a pour but de présenter des exemples et des détails supplémentaires. Pour une liste des fonctions disponibles sur les workers : Fonctions disponibles pour les workers

À propos de la sécurité des processus

Les Wokers créent  de véritable thread système, donc les exécutions concurentiels peuvent provoquer des effets indésirables si vous ne faites pas attention à votre code. Mais dans le cas des web workers, les communications sont tellement restreintes qu'il est très difficile de provoquer des concurrences. Il n'y a aucun accès au DOM ni aux composants de sécurités, et vous ne pouvez sortir ou rentrer des données d'un thread qu'à partir d'objets sérialisés. Donc vous devrez beaucoup travailler avant d'avoir des problèmes avec votre code.

Invoquer un worker

Il est très facile de créer un worker. Tout ce que vous avez besoin est d'appeller le constructeur Worker(), spécifier l'URI du script à exécuter dans le thread du worker, et, si vous souhaitez pouvoir recevoir des informations du worker, instancier l'attribut onmessage avec une fonction de gestion d'événement.

Source de la révision

<div class="note">Traduction en cours de la page en anglais  <a href="/En/DOM/Using_web_workers" title="https://developer.mozilla.org/En/DOM/Using_web_workers">Using_web_workers</a></div>
<p>Les Web Workers permettent d'exécuter du code en tâche de fond. Une fois créé, un worker peut envoyer des messages à son processus père en envoyant des messages qui seront réceptionnés par un gestionnaire d'événement spécifié à la création.</p>
<p>Un thread worker peut effectuer une tâche sans interférer sur l'interface utilisateur. De plus, ils peuvent utiliser <code><a class="internal" href="/en/nsIXMLHttpRequest" rel="internal" title="En/XMLHttpRequest">XMLHttpRequest</a></code> pour les flux I/O (néanmoins les attributs <code>responseXML</code> et <code>channel</code> seront <code>null</code>)</p>
<p>Aller sur la page <code><a href="/en/DOM/Worker" rel="custom">Worker</a></code> pour avoir une documentation complète sur le sujet. Cet article a pour but de présenter des exemples et des détails supplémentaires. Pour une liste des fonctions disponibles sur les workers : <a href="/en/DOM/Worker/Functions_available_to_workers" rel="internal" title="En/DOM/Worker/Functions available to workers">Fonctions disponibles pour les workers</a></p>
<div id="section_1"> <h2 class="editable" id="À_propos_de_la_sécurité_des_processus">À propos de la sécurité des processus</h2> <p>Les <code>Wokers</code> créent  de véritable thread système, donc les exécutions concurentiels peuvent provoquer des effets indésirables si vous ne faites pas attention à votre code. Mais dans le cas des web workers, les communications sont tellement restreintes qu'il est très difficile de provoquer des concurrences. Il n'y a aucun accès au DOM ni aux composants de sécurités, et vous ne pouvez sortir ou rentrer des données d'un thread qu'à partir d'objets sérialisés. Donc vous devrez beaucoup travailler avant d'avoir des problèmes avec votre code.</p> <h2 class="editable" id="Invoquer_un_worker">Invoquer un worker</h2> <p>Il est très facile de créer un worker. Tout ce que vous avez besoin est d'appeller le constructeur <code>Worker()</code>, spécifier l'URI du script à exécuter dans le thread du worker, et, si vous souhaitez pouvoir recevoir des informations du worker, instancier l'attribut <code>onmessage</code> avec une fonction de gestion d'événement.</p>
</div>
Revenir à cette révision