# Event loop

> The asyncio loop that runs Home Assistant Core. Code that blocks it, like waiting on the network without `await`, stops everything else.

Source: https://contributors.home-assistant.io/glossary/event-loop/

- In code: `async_`, `hass.async_add_executor_job`
- Also: asyncio, executor

Functions that start with `async_` run in the event loop and must never block. Code that can only block, like a library without async support, runs in an executor thread with `hass.async_add_executor_job`.

## Related terms

- [Home Assistant Core](https://contributors.home-assistant.io/glossary/core/): The Python application at the heart of Home Assistant, with all its integrations, in the home-assistant/core repository.
- [The hass object](https://contributors.home-assistant.io/glossary/hass/): The `HomeAssistant` instance that integrations get, with access to the state machine, the event bus, actions, and the configuration.
