Control.Invoke / InvokeAsync
WinFormsで、別スレッドからUIスレッドへ処理を依頼するためのメソッド。
- 概念URI
https://comcomponent.com/knowledge/control-invoke/
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- Control.Invoke / InvokeAsyncはUIスレッドのコンテキストに対する本記事の推奨です。WinFormsのコントロールはスレッドセーフではなく、複数スレッドからの操作は不整合状態・競合・デッドロック・フリーズを招く。すべてのコントロールは同一スレッドで作成・アクセスされる必要があり、別スレッドからはControl.Invoke、.NET 9以降のControl.InvokeAsync、またはBackgroundWorkerを使う。 / 確度: 確立した関係 / 確認日: 2026-08-22 出典
- Control.Invoke / InvokeAsyncはデッドロック(deadlock)の原因になることがあります。同期形のInvokeは、UIスレッドがそのワーカーの完了を同期的に待っている状態でワーカーから呼ばれると互いを待ち合う。バックグラウンドからの通知・進捗報告は非同期形を既定にする。 / 確度: 条件付きの関係 / 確認日: 2026-08-02 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。