Что происходит, когда класс веб-рабочего получает мусор - PullRequest
1 голос
/ 16 марта 2019

У меня есть класс, который обрабатывает создание нового веб-работника, когда создается экземпляр класса, публикует сообщение работнику, которое возвращает обещание, которое разрешается, когда работник завершает задачу. По сути, я называю класс, который занимается созданием, публикацией, прослушиванием и завершением работы.

Однако, если я создам новый экземпляр этого класса, опубликую сообщение и завершу свою функцию, что произойдет с работником? Становится ли оно осиротевшим и продолжает выполнять свою задачу, пока не выполнит?

Кроме того, это немного тангенциально, но как плохо было бы создавать n количество работников одновременно? 8? 20? 50? Как браузер справляется с этим?

1 Ответ

2 голосов
/ 16 марта 2019

Становится ли оно осиротевшим и продолжает выполнять свою задачу, пока не выполнит?

Да.Согласно спецификации, в этом случае цикл событий должен выполняться до конца, работник помечается как «приостановленный» и, наконец,

Ссылка Шаг 10

как плохо было бы создавать сразу несколько рабочих?8?20?50?

Вы можете играть здесь: http://math.hws.edu/eck/jsdemo/jsMandelbrot.html

Я лично видел, как гудят 16 рабочих приложений.Необходимо учитывать компромисс с раскруткой / разрывом и обменом сообщениями.

...