私は作成されたコードを見ていて、1つのメソッド呼び出しでTryEnterを使用し、他のメソッド呼び出しでロックします。したがって、次のようになります。Monitor.TryEnterとlock()は一緒に動作しますか?
private readonly object xmppLock = new object();
void f1()
{
if (Monitor.TryEnter(xmppLock))
{
try
{
// Do stuff
}
finally
{
Monitor.Exit(xmppLock);
}
}
}
void f2()
{
lock(xmppLock)
{
// Do stuff
}
}
これは大丈夫ですか?リソースが利用可能になるまで
これは、同じオブジェクトで、** lock **とMonitor.TryEnterを混在させることが可能かどうかという質問には答えません。 [Try類似の質問への回答を参照](https://stackoverflow.com/q/14377366/199364) – ToolmakerSteve