emixthreading
emixthreading provides synchronization primitives, producer/consumer helpers,
spinners, and async blocking utilities that build on emixcore::Error.
Modules at a Glance
cond: Manual reset conditions and cross-thread notifications.consumer: Awaitable producer/consumer abstractions.signal: Cancellation-aware signals.spinner: Terminal spinners built onindicatif.constants: Shared timing constants for queues and waits.
[]
= { = "../../crates/threading" }
Quick Examples
Manual spinner:
use Spinner;
let spinner = with_prefix;
spinner.tick;
spinner.finish_with_message;
Timeout waiting for an async worker:
use ;
use Arc;
use Notify;
// Wait up to 5 seconds for a completion signal.
wait_for_async.await.ok;
Browse the tests/ directory for more advanced queue coordination patterns and
signal-handling examples.