Matteo Collina
Node.js: More Threads Than You Think
#1about 3 minutes
Debunking the myth of single-threaded Node.js
Node.js has supported multi-threading via the worker_threads module since 2018, contrary to the common misconception that it is single-threaded.
#2about 4 minutes
How worker threads communicate with each other
Threads communicate using MessagePort and MessageChannel for direct messaging or BroadcastChannel to send messages to all threads simultaneously.
#3about 2 minutes
Understanding object serialization between threads
JavaScript objects are not shared between threads but are copied via the structured clone algorithm, with certain objects like SharedArrayBuffer being transferable for efficiency.
#4about 2 minutes
Using Piscina for effective thread pool management
The Piscina library simplifies multi-threading by providing a thread pool to manage worker creation, task scheduling, and result handling automatically.
#5about 2 minutes
Real-world use cases for worker threads
Worker threads are used in libraries like Pino to prevent log loss on exit and within Node.js itself to power loader hooks for ESM and TypeScript support.
#6about 2 minutes
Scaling applications with the Vlt application server
The Vlt application server runs multiple Node.js services as separate threads within a single process, enabling efficient communication via shared memory.
#7about 2 minutes
Demo: Offloading CPU-intensive work to a thread pool
A live demo shows how offloading a synchronous, blocking operation from the main event loop to a Piscina thread pool dramatically improves server throughput.
#8about 2 minutes
Demo: Advanced queue management for load shedding
By managing the task queue and skipping work when the system is overloaded, you can significantly improve tail latency and overall throughput.
#9about 4 minutes
Demo: Scaling apps with Vlt and no code changes
A demonstration shows how the Vlt server can scale both a standard API and a Next.js SSR application across multiple threads using only configuration changes.
Related jobs
Jobs that call for the skills explored in this talk.
Featured Partners
Related Videos
Multithreading in Javascript: A guide to Web Workers
Dani Coll
1, 2, 3... Fastify!
Matteo Collina
The Eventloop in JavaScript - How does it work?
Christian Woerz
Java 21: The Revolution of Virtual Threads - A Deep Dive
Christian Woerz
Things I learned while writing high-performance JavaScript applications
Michele Riva
Catching up on the basics you don't really need that much code
Chris Heilmann
Introduction and pitfalls of Java's new concurrency model
David Vlijmincx
Multiple Ships to the Island - Micro Frontends & Island Architectures
Florian Rappl
From learning to earning
Jobs that call for the skills explored in this talk.
Software Engineer (Node JS)
The Workshop
Municipality of Madrid, Spain
Intermediate
REST
MySQL
NoSQL
Redis
Kafka
+13
Frontend/Fullstack Developer - Node.js
iO Associates
Gloucester, United Kingdom
€40-45K
Intermediate
REST
NestJS
Node.js
Terraform
+3
Technical Operations Engineer, Web3 Core Platforms
QuickNode
Municipality of Madrid, Spain
Remote
DNS
Bash
JSON
Linux
+8

