The Internals of Deno
  • The Internals of Deno
  • Audience
  • Reviews
  • Translations
  • Formats
  • Contents
  • Chapter 1 - INTRODUCTION
    • 1.0 Cover page
    • 1.1 Introduction
    • 1.2 History of Deno
    • 1.3 About Deno
    • 1.4 Releases
    • 1.5 The Deno Company
    • 1.6 Deno's source
    • 1.7 What's next
  • Chapter 2 - ARCHITECTURE
    • 2.0 Cover page
    • 2.1 Architecture
    • 2.2 Overall architecture
    • 2.3 Programming Languages
    • 2.4 Deno components
    • 2.5 OPs
    • 2.6 TSC/SWC
    • 2.7 Rusty_v8
    • 2.8 Tokio
    • 2.9 V8
    • 2.10 What's next
  • CHAPTER 3 - THREADING MODEL
    • 3.0 Cover page
    • 3.1 Threading model
    • 3.2 Default threading model
    • 3.3 Asynchronous green threads
    • 3.4 What's next
  • CHAPTER 4 - BRIDGE
    • 4.0 Cover page
    • 4.1 The bridge
    • 4.2 Print
    • 4.3 Encode and decode
    • 4.4 What's next
  • CHAPTER 5 - FOUNDATIONS
    • 5.0 Cover page
    • 5.1 Hello world program
    • 5.2 Basic hello world
    • 5.3 Main program of Deno
    • 5.4 Module Specifier
    • 5.5 CLI Factory
    • 5.6 Permissions
    • 5.7 Main Worker
    • 5.8 JS Runtime
    • 5.9 Run main module
    • 5.10 Load module
    • 5.11 Recursive module loading
    • 5.12 Module graphs
    • 5.13 File fetching
    • 5.14 Transpile
    • 5.15 Register / compile module
    • 5.16 Instantiate module
    • 5.17 Evaluate module
    • 5.18 What's next
  • CHAPTER 6 - IMPORTS AND OPS
    • 6.0 Cover page
    • 6.1 Imports and ops
    • 6.2 Hello world program v2
    • 6.3 Module graph with imports
    • 6.4 Transpile
    • 6.5 Registration and instantiation
    • 6.6 Registration of ops
    • 6.7 Evaluate module
    • 6.8 Sync OPs
    • 6.9 Debug logs
    • 6.10 What's next
  • CHAPTER 7 - LOCAL AND SESSION STORAGE
    • 7.0 Cover page
    • 7.1 Introduction
    • 7.2 Local storage
    • 7.3 Session storage
    • 7.4 What's next
  • AFTERWORD
    • Afterword
Powered by GitBook
On this page
  1. CHAPTER 3 - THREADING MODEL

3.1 Threading model

Previous3.0 Cover pageNext3.2 Default threading model

Last updated 10 months ago

When a runtime like Node.js, Deno, or Bun operates, it uses a specific threading model. This model defines the threads within the process and explains their roles. Understanding the threading model is essential when combined with the system's overall structure.

Deno's threading model is unique, using two types of threads: OS-aware and OS-unaware. This approach sets Deno apart and affects its behavior. In this chapter, we will explore the default threads created by Deno. We will also examine web workers and asynchronous operations, which impact the threading model.

By the end of the chapter, you will have a thorough understanding of these threads, their interactions, and their significance in Deno's threading framework.

Chapter contents

3.2 Default threading model
3.3 Asynchronous green threads