# 3.1 Threading model

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.&#x20;

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.&#x20;

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.

## &#x20; Chapter contents

{% content-ref url="/pages/-ML1Xjv-juVSFvms64uq" %}
[3.2 Default threading model](/internals-of-deno/threading-model/default-threads.md)
{% endcontent-ref %}

{% content-ref url="/pages/-ML1XnuHJpFycRestrQ1" %}
[3.3 Asynchronous green threads](/internals-of-deno/threading-model/tokio-threads.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://choubey.gitbook.io/internals-of-deno/threading-model/3.1-threading-model.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
