- repeatedly
- 2577
- 0
- 1
- 0
@cpp_akira あれどうやって非同期実現してるんですか?Rubyとかだとlibevとかのラッパー使ってほげほげやるんですが.
2010-02-24 21:54:50非同期って一からやるとめちゃくちゃ面倒そうなんだけども.かといってBoostがlibevとかlibeventみたいな外部ライブラリに依存しているとも思えない…
2010-02-24 21:55:40@repeatedly Linuxとかそっちのほうは知らないですけど、WinSockはもともと非同期なんじゃ?
2010-02-24 21:57:11. @repeatedly @cpp_akira Windows版はIO完了ポートとドキュメントに書いてあったと思います。
2010-02-24 21:58:19非同期ってどこ情報ですか?(キリッ QT @cpp_akira: @repeatedly Linuxとかそっちのほうは知らないですけど、WinSockはもともと非同期なんじゃ?
2010-02-24 22:00:16IO完了ポートってのは一言で言えばまあWindowsの非同期IOの1種。もっと詳しい人はTwitter上にまだまだいるだろう。
2010-02-24 22:00:29I/O Completion Port が非同期 I/O の一種という表現がしっくりこない。非同期 I/O と、I/O Completion Port って (実装はともかく) 別のものでしょ
2010-02-24 22:03:46そもそも Threading が Light-weight Process として実装された ASIO と、Threading が存在すること、同期オブジェクトが統一的に扱えることを前提に作られた IOCP (I/O Completion) は別の思想・制約を食らってるのよ
2010-02-24 22:09:45ただ、Threading Model の違いを正しく認識できていないと話が速攻で噛み合わなくなる。なのであまり深くここで突っ込みたくはないのです。。
2010-02-24 22:11:32うんそうだ。自分は何のつもりで言ったんだ? RT @iwata_m: 別物でしょ… QT @egtra: そういえば、非同期I/O != Overlapped I/Oだったようなと思ったけどソース出てこない。
2010-02-24 22:11:58Signal の弊害、なぜ Windows NT が APC を好んで利用したか。ここが理解できないと Threading Model (COM じゃないよ) の違いは理解できないんじゃないかな
2010-02-24 22:13:32まあ、答えから言ってしまえば WinSock は Windows 3.0 の頃から導入されているものなので非同期もなにも Threading がない世代からの導入なわけです。非同期になったのは AFD 導入後
2010-02-24 22:17:38同期のAPIもありますよね。非同期しかつかったことないけど。 RT @cpp_akira 名前のとおり。 RT @repeatedly: Asioって非同期なんだよなぁ
2010-02-24 22:18:51そうそう、AsioがIO完了ポート使っているとはここに書いてある。他OSのことも書いてある。 http://www.boost.org/doc/libs/1_42_0/doc/html/boost_asio/overview/implementation.html
2010-02-24 22:29:48