C♯相談室 Part20
■ このスレッドは過去ログ倉庫に格納されています
0665デフォルトの名無しさん
NGNGそれは設計が悪かったのでは・・・
というのは置いといて、.Net の各種 BeginHogeHoge の非同期処理メソッドって実は壊れた設計ですよね。
async_result = f.BeginXXX(); とかするわけだけど、非同期コールバックが呼ばれる前にこの代入が完了している、
という保証は無いわけで、内部で安心して EndXXX(async_result) できない。
殆ど全ての場合大丈夫だろうし、サンプルでもこの問題は無いことになってるけど、実際にはlock等で代入の完了を
待ち合わせる必要があるはず。out パラメータにして、値がセットされてからコールバックが呼ばれることを保証して
くれればよかったのに・・・
■ このスレッドは過去ログ倉庫に格納されています