STAスレッドを使用したアプリのメモリリークについて
こんにちは、Japan Developer Support Core チームの近澤です。.NET アプリケーションでメモリリークが発生した際に、STA スレッドが関係している場合があります。今回は、STAスレッドの仕組みと、よくあるメモリリークの原因、その対処方法についてご紹介します。
STA スレッドとはSTA(Single Threaded Apartment)スレッドは、COM コンポーネントでスレッドセーフを明示しない実装でも安全に使えるようにするための仕組みです。
STA スレッドが必要な理由STA スレッドは、Windows Forms アプリケーションなど UI アプリケーションでよく使用されています。Windows Forms コントロールの多くは、パフォーマンスや内部で依存しているネイティブ コントロールの互換性の関係から、それ自身はスレッドセーフではありません。また、例...