タスクの定義がなんだかよーわからへんけど、1つのスレッドで読み込み要求を発行した後、
そのままそのスレッドで円周率ん万桁とか計算したりした後、
読み込みが終わったかどうかを確認した上で読み込んだ内容をほげほげしたい、と仮定しよう
Win32だったら::ReadFile(::ReadFileEx)はプログラマがマルチスレッドを意識する事なく非同期読み書きが可能
キーワードはReadFile、GetOverlappedResult、
あとCancelIo(一度に沢山読み込むのを例外とかでキャンセルしたりする時に重要、
キャンセルしたら即全部止まる訳じゃないからGetOverlappedResultで待ち合わせないとダメよ)
Linuxの類ならスレッドなりプロセスのフォークなりして最初に読み込んで
単純にLuaスクリプトが追いついたらWait何とかみたいな関数バインドして待たせたらどうだろうか
で、どうしてもLuaが主導で要求を発行した上で自前の他のスレッドでやりたいってんなら
Luaにクリティカルセクションか非同期読み込みに使ったイベントへのアクセス手段を
ホスト(Luaスクリプトを使う側から見た内部)で存続から何から何まで管理して
ロック待ち、ロック開放、イベントシグナル変更、シグナル待ち まで提供しとけば手っ取り早くできなくはない
ただしマルチスレッドプログラミングの注意点をLuaでも守らなきゃならなくなる
最後は>>9の手段についてだけど、これが無難と言えば無難だけど、
通知を待つ手段をコルーチンの類にすると、ちょいと突っ込んだ事を始めるとすぐに限界にぶちあたる筈
どうせ読み込みを開始して必要な処理が終わったらコルーチンか終了フラグをポーリングするんだろうから
いっその事ブロッキングしちゃった方がいいんじゃないかと思わなくもない
この時の注意点はホストからの終了要求も取りこぼさない様に2つ(複数)のハンドルをウェイトする事
探検
【Lua】組み込み系言語総合 その7【Squirrel】 [無断転載禁止]©2ch.net
2016/09/28(水) 00:35:49.15ID:yOlfPxWj
レスを投稿する
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 外務局長「中国さんごめんなさぁ...」小野田「中国なんかどうでもいいっ!」高市「首脳会談したい」マスコミ「立憲が悪いっ!!」 [237216734]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【悲報】日本人「日本が中国と戦争になったら世界中の国が応援してくれるぞ!」 [616817505]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
