コンテンツにスキップ

Embassy Sync — Crate 詳細

Embassy Sync

Beta no_std

Embassy 向けの同期プリミティブ(Mutex、Signal、Channel 等)を提供。no_std 環境でのタスク間通信・排他制御を想定した設計。

Synchronization primitives for Embassy async applications (Mutex, Signal, Channel, etc.).

バージョン
0.5.0
ライセンス
MIT OR Apache-2.0
メンテナンス
活発に開発中

コード例

タスク間で単発の値を通知する例です。

Signal でイベント通知
#![no_std]
use embassy_sync::signal::Signal;
use embassy_sync::blocking_mutex::raw::NoopRawMutex;
static SIG: Signal<NoopRawMutex, u32> = Signal::new();
pub async fn sender() {
SIG.signal(42);
}
pub async fn receiver() {
let v = SIG.wait().await;
let _ = v;
}

関連 Crates