J'utilise des travailleurs Web pour effectuer un travail intensif du processeur, mais j'ai l'exigence que le travailleur répondra aux messages du script parent alors que le worker est traitement en cours.Comment empêcher HTML5 Web Workers de se verrouiller ainsi répondre correctement aux messages du parent
Le travailleur ne répondra cependant pas aux messages alors qu'il est verrouillé dans une boucle de traitement, et je n'ai pas trouvé un moyen de dire interroger la file d'attente des messages. Il semble donc que la seule solution consiste à interrompre le traitement à un intervalle pour permettre à tous les messages de la file d'être traités. Les options évidentes sont d'utiliser une minuterie (par exemple avec setInterval) mais j'ai lu que le délai minimum entre les tirs est assez long (http://ajaxian.com/archives/settimeout-delay) ce qui est regrettable car cela va ralentir le traitement beaucoup.
Quelles sont les pensées des autres à ce sujet? Je vais essayer d'avoir le travailleur onmessage
à lui-même à la fin de chaque onmessage
, mettant ainsi efficacement en œuvre une étape de la boucle de traitement par événement reçu de lui-même, mais je voulais juste voir si quelqu'un avait des idées à ce sujet.
Merci,
Accrocher https://stackoverflow.com/a/32269593/632951 – Pacerier