# Microthread

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Microthread
> Markdown URL: https://mediated.wiki/source/Microthread.md
> Source: https://en.wikipedia.org/wiki/Microthread
> Source revision: 1007936874
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Microthread" – news · newspapers · books · scholar · JSTOR (December 2017) (Learn how and when to remove this message)

**Microthreads** are functions that may run in [parallel](/source/Parallel_computing)[1] to gain increased performance in [microprocessors](/source/Microprocessor). They provide an execution model that uses a few additional [instructions](/source/CPU_instructions) in a conventional processor to break code down into fragments that execute simultaneously. Dependencies are managed by making [registers](/source/Processor_registers) in the microprocessors executing the code synchronising, so one microthread will wait for another to produce data.

This is a form of [dataflow](/source/Dataflow). This model can be applied to an existing [instruction set architecture](/source/Instruction_set_architecture) incrementally by providing just five new instructions to implement concurrency controls. A *set* of microthreads is a static partition of a basic block into [concurrently](/source/Concurrent_processing) executing fragments, which execute on a single processor and share a microcontext. An *iterator* over a set provides a dynamic and [parametric family](/source/Parametric_family) of microthreads. Iterators capture loop concurrency and can be scheduled to different processors. An iterator over a set is created dynamically and is called a family of microthreads. This is the mechanism that allows the model to generate concurrency, which can be run on multiple processors or functional units.

## See also

- [Continuation](/source/Continuation)

- [Coroutine](/source/Coroutine)

- [Fiber (computer science)](/source/Fiber_(computer_science))

- [Micro-thread (multi-core)](/source/Micro-thread_(multi-core))

- [Protothread](/source/Protothread)

## References

1. **[^](#cite_ref-1)** Helmut Grohne (2006). ["libmuth tutorial: Microthreads"](http://subdivi.de/~helmut/libmuth/tutorial.html). subdivi.de. Retrieved 2017-07-26.

## External links

- [CSA website](http://www.science.uva.nl/research/csa/microgrids.html)

---
Adapted from the Wikipedia article [Microthread](https://en.wikipedia.org/wiki/Microthread) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Microthread?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
