pub fn spawn<Fut>(future: Fut) -> Task<Fut::Output>Expand description
Creates a new task with default priority.
This is the primary function for spawning async tasks. The task will be executed with default priority using platform-native scheduling.
§Arguments
future- The future to execute asynchronously
§Returns
A Task handle that can be awaited to retrieve the result
§Examples
use native_executor::spawn;
let task = spawn(async {
// Your async work here
42
});Examples found in repository?
examples/simple_task.rs (lines 8-15)
4fn main() {
5 println!("Starting example");
6
7 // Spawn a task with default priority
8 spawn(async {
9 println!("Task started");
10
11 // Wait for 1 second
12 Timer::after_secs(1).await;
13
14 println!("Task completed after 1 second");
15 })
16 .detach();
17
18 // Keep the main thread alive
19 std::thread::sleep(Duration::from_secs(2));
20
21 println!("Example completed");
22}More examples
examples/priority.rs (lines 6-10)
4fn main() {
5 // Spawn a default priority task
6 spawn(async {
7 println!("Default priority task started");
8 Timer::after_secs(1).await;
9 println!("Default priority task completed");
10 })
11 .detach();
12
13 // Spawn a background priority task
14 spawn_with_priority(
15 async {
16 println!("Background priority task started");
17 Timer::after_secs(1).await;
18 println!("Background priority task completed");
19 },
20 Priority::Background,
21 )
22 .detach();
23
24 // Keep the main thread alive
25 std::thread::sleep(Duration::from_secs(2));
26}examples/timers.rs (lines 8-27)
7fn main() {
8 spawn(async {
9 println!("Starting timers example");
10
11 // Use the Timer API
12 println!("Waiting for 500ms...");
13 Timer::after(Duration::from_millis(500)).await;
14 println!("500ms elapsed");
15
16 // Use the seconds convenience method
17 println!("Waiting for 1 second...");
18 Timer::after_secs(1).await;
19 println!("1 second elapsed");
20
21 // Use the sleep convenience function
22 println!("Sleeping for 2 seconds...");
23 sleep(2).await;
24 println!("2 seconds elapsed");
25
26 println!("Timers example completed");
27 })
28 .detach();
29
30 // Keep the main thread alive
31 std::thread::sleep(Duration::from_secs(4));
32}