diff options
| author | Mathias <[email protected]> | 2022-08-18 21:08:57 +0200 |
|---|---|---|
| committer | Mathias <[email protected]> | 2022-08-18 21:08:57 +0200 |
| commit | a7d6bc7ba5faef3d711b944baf6c8e3685fdb37e (patch) | |
| tree | d35085173fb8e4a0ff3b6357e3aaef18c6124e6e /embassy-executor/README.md | |
| parent | 9c9b7b1a66dc90a9183886867811d2db57df714c (diff) | |
| parent | aefa5275a2ab2cac6caef599e7adb76ce1beeddd (diff) | |
Merge branch 'master' of https://github.com/embassy-rs/embassy into embassy-rp/dma
Diffstat (limited to 'embassy-executor/README.md')
| -rw-r--r-- | embassy-executor/README.md | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/embassy-executor/README.md b/embassy-executor/README.md new file mode 100644 index 000000000..47d0cb8a2 --- /dev/null +++ b/embassy-executor/README.md | |||
| @@ -0,0 +1,11 @@ | |||
| 1 | # embassy-executor | ||
| 2 | |||
| 3 | An async/await executor designed for embedded usage. | ||
| 4 | |||
| 5 | - No `alloc`, no heap needed. Task futures are statically allocated. | ||
| 6 | - No "fixed capacity" data structures, executor works with 1 or 1000 tasks without needing config/tuning. | ||
| 7 | - Integrated timer queue: sleeping is easy, just do `Timer::after(Duration::from_secs(1)).await;`. | ||
| 8 | - No busy-loop polling: CPU sleeps when there's no work to do, using interrupts or `WFE/SEV`. | ||
| 9 | - Efficient polling: a wake will only poll the woken task, not all of them. | ||
| 10 | - Fair: a task can't monopolize CPU time even if it's constantly being woken. All other tasks get a chance to run before a given task gets polled for the second time. | ||
| 11 | - Creating multiple executor instances is supported, to run tasks with multiple priority levels. This allows higher-priority tasks to preempt lower-priority tasks. | ||
