{"width":"100%","provider_url":"https://hatena.blog","title":"std.concurrency \u30e1\u30e2","url":"https://haru-s.hatenablog.com/entry/20111030/1319968910","type":"rich","image_url":null,"published":"2011-10-30 19:01:50","version":"1.0","height":"190","author_url":"https://blog.hatena.ne.jp/haru-s/","blog_url":"https://haru-s.hatenablog.com/","description":"import std.stdio; import std.concurrency; void f() { writeln(\"start\"); for (bool f; !f; receive( (int i) { f = true; }, (string s) { writeln(s); }, )) {} writeln(\"end\"); } void main() { auto tid = spawn(&f); send(tid, \"a\"); write(readln()); send(tid, \"b\"); send(tid, 0); }","blog_title":"...ing logging 4.0","author_name":"haru-s","categories":["D\u8a00\u8a9e"],"html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fharu-s.hatenablog.com%2Fentry%2F20111030%2F1319968910\" title=\"std.concurrency \u30e1\u30e2 - ...ing logging 4.0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","provider_name":"Hatena Blog"}