インターフェースポインタ・
リファレンスカウンタ
インターフェースポインタ
インターフェースポインタ
TwinCATVision では、画像やコンテナ(※1)データはRouter Memory に動的に確保されます。確保されたメモリには、インターフェースポインタ(Interface Pointer)を使ってアクセスします。
インターフェースポインタとは、
Router Memory に配置されたオブジェクトへのポインタ
インターフェースポインタを表す変数を別の変数にコピーした場合、コピーされるのはポインタだけであってポインタが指すデータそのものはコピーされない
リファレンスカウンタ
リファレンスカウンタ
メモリ内のオブジェクトを参照しているインターフェースポインタの数の管理は、システムを安定させるうえで重要になります。そこで、TC Visionではリファレンスカウンタ(Reference Counter)という仕組みでオブジェクトの参照数を管理しています。
【詳細】
メモリ内のオブジェクトは全てリファレンスカウンタを持っている。
オブジェクトを参照しているインターフェースポインタ変数を、別の変数にコピーし参照数が増えた場合は、リファレンスカウンタをカウントアップさせる。
オブジェクトを参照しているインターフェースポインタが減ると、リファレンスカウンタをカウントダウンさせる。
オブジェクトの参照がゼロになると、メモリは解放される。
[Tips] インターフェースポインタ/リファレンスカウンタ
[Tips] インターフェースポインタ/リファレンスカウンタ
1) インターフェースポインタのメソッド呼び出し①
2) インターフェースポインタのメソッド呼び出し②
3) インターフェースポインタの後始末
4) インターフェースポインタのコピー
インターフェースポインタの宣言
インターフェースポインタの宣言
予備知識
インターフェースポインタの宣言
<< 以下は非推奨です!!>>
<< 以下を推奨します!!>>