issues
search
yuk1ty
/
learning-systems-programming-in-rust
「Rustでもわかるシステムプログラミング」
433
stars
23
forks
source link
13.7 節をリプレースする
#103
Open
yuk1ty
opened
3 years ago
yuk1ty
commented
3 years ago
節タイトル
sync パッケージ
対象コード
13.7.1:
https://github.com/yurakawa/learn-system-programming-with-go/blob/master/ch13/s7-1/main.go
13.7.2:
https://github.com/yurakawa/learn-system-programming-with-go/blob/master/ch13/s7-2/main.go
13.7.3:
https://github.com/yurakawa/learn-system-programming-with-go/tree/master/ch13/s7-3
13.7.4:
https://github.com/yurakawa/learn-system-programming-with-go/blob/master/ch13/s7-4/main.go
13.7.5:
https://github.com/yurakawa/learn-system-programming-with-go/blob/master/ch13/s7-6/main.go
補足説明
全部 goroutine の中でロックをかけるなどしているので、tokio 前提でいきたいと思います。
13.7.1 は tokio::sync::Mutex と tokio::sync::RWLock を用いれば実装できる?
https://docs.rs/tokio/1.6.1/tokio/sync/struct.Mutex.html
13.7.2 は tokio::sync::Barrier が似てる→
https://users.rust-lang.org/t/does-rust-have-an-equivalent-to-gos-waitgroup/41095
13.7.3 は tokio::sync::OnceCell で書き直しできそう→
https://docs.rs/tokio/1.6.1/tokio/sync/struct.OnceCell.html
13.7.4 は tokio には Condvar がなさそうなので、どうしようかと思っています。
13.7.5 は
https://github.com/jonhoo/flurry
などを使うとできそうだけど、無理して実装しなくてもいいと思っています。
節タイトル
sync パッケージ
対象コード
補足説明
全部 goroutine の中でロックをかけるなどしているので、tokio 前提でいきたいと思います。