2017-01-30 2 views
0

私はC++で書かれたプロジェクトを持っています。これはファイルコピーとフォルダ作成の機能を持っています。 C++ではMutex.Lock()Mutex.unLock()のメソッドを使用します。C++でのMutexの置換えシャープ

私はC#で同じものを複製する必要があります。

C#でmutext.Lock()Mutex.unlock()のC++メソッドを作成する最も良い方法は何ですか?

+1

を行うことができますので、[ミューテックス](https://msdn.microsoft.comがあります/en-us/library/system.threading.mutex(v=vs.110).aspx)のクラス# – Pikoh

+1

あなたは 'lock'文を探しています。または 'Monitor.Enter/Exit'のために。 – Matthias247

+0

私はMutex.LockがC++で行っていることをしたいと思っています。 – user1947862

答えて

0

C++には、Mutexクラスがありません。これは、std::mutexを有し、.lock()および.unlock()を提供する。

C++では、あなたがC#で同じ機能を実現するために、

std::mutex mtx; 

void thr_fnc(){ 
    mtx.lock(); 
    // CS 
    mtx.unlock(); 
} 

を持っている、あなたは

Mutex mtx = new Mutex(); 

void thr_fnc(){ 
    mtx.WaitOne(); 
    // CS 
    mtx.ReleaseMutex(); 
} 
+0

'Mutex'は普通のケースでは使用しないでください.Mutexは任意のロックオブジェクトの' Monitor'や 'lock'文より重いです。例えば以下を参照してください:http://stackoverflow.com/questions/1164038/monitor-vs-mutex-in-c-sharp – Matthias247

+0

@ Matthias247良い点。 – Zereges

+0

Hi .. Cシャープでは、mutext.Disposeは必須ですか? Realease mutex realeaseはスレッドを処分しますか? – user1947862

関連する問題