私は小さなc++フレームワークに取り組んでおり、非同期の読み取りと書き込みもサポートするファイルクラスを持っています。私が見つけたいくつかのワーカースレッド内で同期ファイルI/Oを使用する以外の唯一の解決策は、aioです。とにかく、私はどこかを見回して読んでいました。Linuxでは、aioはカーネルではなく、ユーザースレッドで実装されています。OSXについても同じですか?もう1つの懸念は、コールバックのaioの機能です。これは、特定のスレッドまたはスレッドプールを割り当てて処理することができないため、コールバックごとに追加のスレッドを生成する必要があります(シグナルは私にとってオプションではありません)。だからここにそれから生じる質問があります:
aioはosxのカーネルに実装されているので、私自身のスレッド化された実装よりも優れている可能性がありますか?
コールバックシステム(コールバックごとにスレッドを生成する)は、実際にはボトルネックになる可能性がありますか?
aioをosxで使用する価値がない場合、unixで他の選択肢はありますか?ココアで?カーボンで?
または、自分のスレッドプールで非同期i / oをエミュレートする必要がありますか?
このテーマについてのあなたの経験は何ですか?