この文書の現在のバージョンと選択したバージョンの差分を表示します。
次のリビジョン | 前のリビジョン | ||
実用編:lock [2017/01/02 11:25] admin 作成 |
実用編:lock [2017/01/02 11:33] (現在) admin |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | fasdfd | + | ====== Lock ====== |
+ | スレッドのロック。以下のクラスをスタックセマンティックのように使って、コードブロック内でスレッドのロックができる。=> https://msdn.microsoft.com/ja-jp/library/sy1y3y1t.aspx | ||
+ | <code cpp> | ||
+ | using namespace System::Threading; | ||
+ | ref class Lock { | ||
+ | Object^ m_pObject; | ||
+ | public: | ||
+ | Lock( Object ^ pObject ) : m_pObject( pObject ) { | ||
+ | Monitor::Enter( m_pObject ); | ||
+ | } | ||
+ | ~Lock() { | ||
+ | Monitor::Exit( m_pObject ); | ||
+ | } | ||
+ | }; | ||
+ | </code> | ||
+ | |||
+ | <code cpp> | ||
+ | ... | ||
+ | { | ||
+ | Lock(obj); | ||
+ | criticaldata->Add(data); | ||
+ | } | ||
+ | </code> |