サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
krouton.hatenablog.com
std::sync::mpsc - Rustの挙動についてちょっと知見を持ったので綴っていく。 やりたいこと めっちゃ重たいタスクがN個あって、それぞれにスレッドを作ってmpsc::channel経由でメインスレッドに値を返してもらう例を考える。 use std::thread; use std::sync::mpsc; let (tx, rx) = mpsc::channel(); for costly_task in costly_tasks.into_iter() { let tx = mpsc::Sender::clone(&tx); thread::spawn(move || { let val = costly_task(); tx.send(val).unwrap(); }); } for val in rx { dbg!(val); } これだと実は下のfor文を抜けること
最近 とっくんのYouTubeチャンネル - YouTube さんの再度ハマり言語野が支配されてます、id:Krouton です。 事の発端 頭の中の大蛇丸が「今日はexpression-orientedな言語を作っていくことにするわね」「構文を考えるのがめんどくさいそこのアナタ、AST設計からスタートしても良くてよ?」って言ってくる— 初診15分 (@Krout0n) 2020年5月7日 つまり「言語を作りたいけど具象構文考えるのめんどくせ〜〜!!!!」「パーサジェネレータ使うにしてもそれすら書き下すのもめんどくせ〜〜!!!!!」って時ありますよね?(あってくれ) そんなアナタのためにS式でASTを表現するのをオススメします。Rustが書きたかったのでそうしましたが、他のマクロがサポートされてる言語なら大体できそう? TL;DR と まとめ (1 + 2) + (3 + 4) を表現する
id:Krouton です。株式会社はてなに新卒入社しました。 本日からWebアプリケーションエンジニアです。 株式会社はてなに入社しました - hitode909の日記 所属してる会社は隠そうと思いましたが、GitHubのOrganizationを見れば分かってしまうし隠すのもなんか嫌なのでエントリにすることにしました。試用期間中にリストラされないことを祈っています。 されたら誰か誘ってください。とりあえずがんばります。 www.amazon.jp
このページを最初にブックマークしてみませんか?
『krouton.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く