この文書の現在のバージョンと選択したバージョンの差分を表示します。
最新リビジョン 両方とも次のリビジョン | |||
実用編:lock [2017/01/02 11:25] admin 作成 |
実用編:lock [2017/01/02 11:29] admin |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
- | fasdfd | + | ====== Lock ====== |
+ | スレッドのロック。以下のクラスをスタックセマンティックのように使って、コードブロック内でスレッドのロックができる。 | ||
+ | <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> |