内容へ移動
C++プログラマのためのC++/CLI入門
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
TOP
»
cli
»
delegateその2
cli:delegateその2
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
{{indexmenu_n>32}} ====== delegateその2 ====== ※途中です 前回のdelegateの説明は同期実行のみでした。同期実行とはすべての関数の実行が終了するまで呼び出し元に制御が返らないことを意味します。 delegateは非同期実行もサポートしています。非同期実行とは、処理を完了を待たずに制御が呼び出し元に返ることです。delegateの非同期実行はスレッドで行われ、そのスレッドはスレッドプールを利用するため呼び出しの負荷が少なくてすみます。 ただしdelegateを非同期で実行する場合、登録する関数は1つでなければなりません。2つ以上あると例外が発生します。 非同期で実行するにはBeginInvoke(), 終了を待つにはEndInvoke()を使います。 <code cpp> delegate void MyDele(void); void myfunc(void) { System::Threading::Thread::Sleep(3000); } int main() { MyDele^ dele = gcnew MyDele(&myfunc); IAsyncResult^ result = dele->BeginInvoke(nullptr,nullptr); dele->EndInvoke(result); return 0; } </code>
/var/www/html/virtual/cppcli/data/pages/cli/delegateその2.txt
· 最終更新: 2013/12/23 09:08 (外部編集)
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ