{"blog_title":"\u3052\u3063\u3068\u30b7\u30b9\u30c6\u30e0\u30ed\u30b0","width":"100%","author_url":"https://blog.hatena.ne.jp/shun-fix9/","description":"CONTENTS lock-unlock \u306e\u9593\u306b await \u3057\u3066\u306f\u3044\u3051\u306a\u3044 \u307e\u3068\u3081 lock-unlock \u306e\u9593\u306b await \u3057\u3066\u306f\u3044\u3051\u306a\u3044 \u4ee5\u4e0b\u30b3\u30f3\u30d1\u30a4\u30eb\u3067\u304d\u308b\u30b3\u30fc\u30c9\u3002 use std::{ collections::HashMap, sync::Mutex, }; #[tokio::test] async fn test_hmm() { assert!(hmm().await == Some(\"hello, mutex async\".to_string())); } #[async_trait::async_trait] trait Hmm { async fn hmm() -> Op\u2026","author_name":"shun-fix9","blog_url":"https://www.getto.systems/","published":"2021-11-04 00:30:44","height":"190","title":"Rust \u306e mutex \u3092 async trait \u3059\u308b\u8a71","categories":[],"provider_url":"https://hatena.blog","version":"1.0","type":"rich","provider_name":"Hatena Blog","image_url":null,"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.getto.systems%2Fentry%2F2021%2F11%2F04%2F003044\" title=\"Rust \u306e mutex \u3092 async trait \u3059\u308b\u8a71 - \u3052\u3063\u3068\u30b7\u30b9\u30c6\u30e0\u30ed\u30b0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","url":"https://www.getto.systems/entry/2021/11/04/003044"}