this post was submitted on 13 Jun 2023
23 points (100.0% liked)
Rust Lang
709 readers
5 users here now
Rules [Developing]
Observe our code of conduct
- Strive to treat others with respect, patience, kindness, and empathy.
- We observe the Rust Project Code of Conduct.
- Submissions must be on-topic
- Posts must reference Rust or relate to things using Rust. For content that does not, use a text post to explain its relevance.
- Post titles should include useful context.
- For Rust questions, use the stickied Q&A thread. [TBD]
- Arts-and-crafts posts are permitted on weekends.
- No meta posts; message the mods instead.
Constructive criticism only
- Criticism is encouraged, though it must be constructive, useful and actionable.
- If criticizing a project on GitHub, you may not link directly to the project’s issue tracker. Please create a read-only mirror and link that instead.
- Keep things in perspective
- A programming language is rarely worth getting worked up over.
- No zealotry or fanaticism.
- Be charitable in intent. Err on the side of giving others the benefit of the doubt.
No endless relitigation
- Avoid re-treading topics that have been long-settled or utterly exhausted.
- Avoid bikeshedding.
- This is not an official Rust forum, and cannot fulfill feature requests. Use the official venues for that.
No low-effort content
- Showing off your new projects is fine
No memes or image macros
- Please find other communities to post memes
No NSFW Content
- There are many other NSFW communities, let’s keep this related to the language
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
There are executors for more specific use cases.
bastion
is a "Highly-available Distributed Fault-tolerant Runtime", inspired by Erlang, and including an async executor.embassy
includes an async executor specifically for embedded systems.fuchsia-async
is an executor for use in the Fuchsia OS.wasm-bindgen-futures
converts RustFuture
s to JavaScriptPromise
s and schedules them to run to completion. It could also be seen as a (very basic) executor.I think gtk-rs is another interesting example. The
glib
crate provides an async executor, since glib already requires running its main loop. So if you just need to run a couple futures you don't need another executor in one or more other threads, and tasks spawned in the glib executor can call functions that need to be run in that thread, since gtk types are generally not thread safe.So integrating into other things could be a reason to use a different executor..