Win32 のライブラリには、OS のスレッドに対して敏感な API セットを提供するものがある。これにはウィンドウハンドルやデバイスコンテキストといったものを直接的・間接的に扱う場合や、スレッドローカルストーレジに依存したライブラリに良く見られる。
WinForms では上記のような場合には InvokeRequired プロパティを通じてスレッドの調停を要求するようになっています。*1 この手法では、コンシューマによってオブジェクトに対する操作を適切にマーシャリングすることを要求する方法であって、コンシューマにたいして正確な操作と知識を要求してしまいます。
続きを読む