何が良いですか? 2つのオプションの間にランタイムに違いはありますか?C# Lock lockインスタンスメンバVSロックスタティックメンバ
1
A
答えて
2
インスタンスメンバーを静的にロックしてロックする場合と、インスタンスメンバーをロックする場合とで実行時に違いはありません。ただし、インスタンスロックを使用し、静的なものを更新する場合は、コードが破損する可能性があります。
class Broken {
static int myCounter;
object synch = new object();
void SomeMethod()
{
lock (synch) { // BAD
++myCounter;
}
}
}
0
Huh?私はあなたがロックしているものに依存すべきだと思った。非静的オブジェクトをロックしようとすると、非静的オブジェクトをロックする必要があります。ところで、あなたは何をしようとしているのか調査したいと思うかもしれませんが、たいていの場合、既にスレッドセーフなオブジェクトの組み込み言語があります。
0
なぜ非静的メソッドをロックしていますか?通常は、共有リソース、つまりすべてのスレッド間で共有される共有リソースへのアクセスを中心とした同期が必要です。あなたはインスタンスメソッドでこれをしません。シングルトンを望みます。
関連する問題
- 1. Fair Reentrant Lock C++
- 2. MIFARE Ultralight C OTP Lock
- 3. Linux上でCaps Lock、Scroll Lock、Num Lockキーをプログラマチックにオン/オフする方法
- 4. asp.net File.Copy Lock
- 5. ManualResetEventSlimとLock
- 6. SQLSERVER-LOCKエラー
- 7. ConcurrentHashMapのlock()メソッド
- 8. マルチスレッドプログラムのLock()
- 9. CPythonとスレッドモジュールLock()
- 10. Python dict.get()Lock
- 11. Android App Lock
- 12. MKMapView "lock" userTrackingMode
- 13. nrjavaserialと/ var/lockへのアクセス許可(/ run/lockへのリンク)
- 14. NO LOCKのSELECTクエリ
- 15. .lockファイルの処理
- 16. CodeIgniterのとLOCKテーブル
- 17. FAB with Android lock ring
- 18. Git fatal:can not lock ref
- 19. 非キャッシュメモリのLOCK CMPXCHG?
- 20. Adobe Javascript Signature Lock
- 21. Emacs:font-lockの説明
- 22. LockはLockよりも適切なデフォルトですか?
- 23. Emacsでcaps lock、num lock、shiftキーの状態を表示
- 24. Ruby Fiddle and Global Interpreter Lock(GIL)
- 25. org.apache.zookeeper.KeeperException $ ConnectionLossException:KeeperErrorCode =/lock/test3_nodeのConnectionLoss
- 26. AWS Redshift LOCK WRITEとREAD NOT
- 27. Caps Lockにバインドする
- 28. OracleとTSQLステートメントNO LOCK
- 29. HttpClientt.SendAsync does not wait/lock実行
- 30. SVNプロパティの更新 "svn:needs-lock"
あなたは、クラス内で静的オブジェクトをロックするのがベストプラクティスだと言っていますか? – Eyal
私は常にロック目的のために静的を使用してきました。 –
okありがとうございます - これは私がやることです! – Eyal