rust-waitgroup

Crates.iorust-waitgroup
lib.rsrust-waitgroup
version0.1.0
sourcesrc
created_at2024-07-10 03:23:53.994163
updated_at2024-07-10 03:23:53.994163
descriptionA Golang like WaitGroup
homepagehttps://github.com/nnsgmsone
repositoryhttps://github.com/nnsgmsone/rust-waitgroup
max_upload_size
id1297801
size39,747
(nnsgmsone)

documentation

https://docs.rs/rust-waitgroup

README

rust-waitgroup

rust-waitgroup is a lightweight synchronization primitive for managing concurrency in Rust programs, inspired by the waitgroup from Go.

Features

  • Synchronization: Efficiently waits for a collection of threads (or tasks) to complete before proceeding.
  • Lightweight: Minimal overhead with simple API for adding tasks and waiting on their completion.
  • Thread Safety: Ensures thread safety for synchronization across multiple threads.

Getting Started

use rust_waitgroup::WaitGroup;
use std::thread;

let wg = WaitGroup::default();
let n = 10;
for _ in 0..n {
    let wg = wg.clone();
    wg.add(1);
    thread::spawn(move || {
         // do some work
         wg.done();
    });
}
wg.wait();

License

rust-waitgroup source code is available under the GPL License.

Commit count: 2

cargo fmt