次の方法で共有


フォームとコントロールでのマルチスレッド

更新 : 2007 年 11 月

マルチスレッドはプロシージャとクラス メソッドの実行に最適ですが、フォームとコントロールでも使用できます。その場合は、以下の点に注意してください。

  • コントロールのメソッドは、できる限りそのコントロールが作成されたスレッドだけで実行してください。コントロールのメソッドを別のスレッドから呼び出す必要がある場合は、Invoke を使用してメソッドを呼び出す必要があります。

  • SyncLock ステートメントを使用してコントロールまたはフォームを操作するスレッドをロックしないでください。コントロールとフォームのメソッドは呼び出しプロシージャをコールバックする場合があるため、誤ってデッドロック状態が発生することがあります。デッドロック状態になると 2 つのスレッドが互いにロックの解放を待機するため、アプリケーションが停止します。

参照

概念

スレッド状態

マルチスレッド プロシージャのパラメータと戻り値

マルチスレッド アプリケーション

参照

Invoke

InvokeRequired

その他の技術情報

コンポーネントのマルチスレッド