Capítulo 8. Programação Assíncrona, Concorrência e Paralelismo
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Até agora, neste livro, lidamos principalmente com programas síncronos - programas que recebem alguma entrada, fazem algumas coisas e são executados até a conclusão em uma única passagem. Mas os programas realmente interessantes - os blocos de construção de aplicativos do mundo real que fazem solicitações de rede, interagem com bancos de dados e sistemas de arquivos, respondem à interação do usuário, descarregam o trabalho intensivo da CPU para threads separadas - todos fazem uso de APIs assíncronas como callbacks, promises e streams.
Essas tarefas assíncronas são onde o JavaScript realmente brilha e se diferencia de outras linguagens multithread convencionais, como Java e C++. Motores JavaScript populares como o V8 e o SpiderMonkey fazem com uma thread o que tradicionalmente exigia muitas threads, sendo inteligentes e multiplexando tarefas numa única thread enquanto outras tarefas estão inativas. Este ciclo de eventos é o modelo de thread padrão para motores JavaScript, e aquele que assumimos que estás a usar. Do ponto de vista do utilizador final, normalmente não importa se o teu motor usa um modelo de ciclo de eventos ou um modelo multithread, mas isso afecta as explicações que vou dar sobre como as coisas funcionam e porque desenhamos as coisas da forma que fazemos.
Este modelo de concorrência ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access