ebook - Guido Percu's Notes
← Back to Garden

ebook

📅 May 21, 2026 📁 books đŸŒ±

ebook

Kindle Highlights

Portanto,

Sistemas que utilizam Node.js nĂŁo sofrem de dead-locks, porque o Node.js trabalha apenas em single-thread (Ășnica thread por processo).

É importante focar no uso das chamadas assíncronas quando trabalhamos com Node.js, assim como entender como e quando elas são invocadas. Isso porque ela traz a vantagem de não deixar a CPU ociosa quando faz uma operação de I/O.

O design event-driven do Node.js foi inspirado pelos frameworks Event Machine (do Ruby) e Twisted (do Python). Porém, o event-loop do Node é mais performåtico, porque seu mecanismo é nativamente executado de forma não bloqueante. Isso faz dele um grande diferencial em relação aos seus concorrentes, que realizam chamadas bloqueantes para iniciar os seus respectivos event-loops.

Threads versus Assincronismos Por mais que as funçÔes assĂ­ncronas possam executar em paralelo vĂĄrias tarefas, elas jamais serĂŁo consideradas uma thread (por exemplo, threads do Java). A diferença Ă© que threads sĂŁo manipulĂĄveis pelo desenvolvedor, ou seja, vocĂȘ pode pausar a execução de uma, ou fazĂȘ-la esperar o tĂ©rmino de uma outra. Chamadas assĂ­ncronas apenas invocam suas funçÔes em uma ordem de que vocĂȘ nĂŁo tem controle, e vocĂȘ sĂł sabe quando uma chamada terminou quando seu callback Ă© executado. Pode parecer vantajoso ter o controle sobre as threads a favor de um sistema que executa tarefas em paralelo, mas ter pouco domĂ­nio sobre elas pode transformar seu sistema em um caos de travamentos dead-locks. Afinal, threads sĂŁo executadas de forma bloqueante. Este Ă© o grande diferencial das chamadas assĂ­ncronas: elas executam suas funçÔes em paralelo sem travar o processamento das outras e, principalmente, sem bloquear o sistema principal.