# Running Kotlin coroutines on Project Loom's virtual threads

DevFeed: [Running Kotlin coroutines on Project Loom's virtual threads](<https://devfeed.tech/articles/running-kotlin-coroutines-on-project-loom-s-virtual-threads-39265.md>)

Original publisher: [Read original article](<https://kt.academy/article/dispatcher-loom>)

Published: 2023-01-09T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/topics/kotlin-coroutines.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [blocking](<https://devfeed.tech/tags/blocking.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/tags/kotlin-coroutines.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [project-loom](<https://devfeed.tech/tags/project-loom.md>), [threads](<https://devfeed.tech/tags/threads.md>), [virtual](<https://devfeed.tech/tags/virtual.md>), [vm](<https://devfeed.tech/tags/vm.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

## AI overview

A tutorial shows how to run Kotlin coroutines on Project Loom virtual threads by creating a custom dispatcher from an ExecutorService. It compares the expected and observed execution time of large numbers of blocking calls using standard coroutine dispatchers and a Loom-based dispatcher.

## Source excerpt

How to use Project Loom to improve Coroutines performance.