Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Action doThatThing = someMethod;
- if (condition)
- {
- lock(thatThing)
- {
- doThatThing();
- }
- }
- else
- {
- doThatThing();
- }
- private static object lockHolder = new object();
- if (ActionIsValid()) {
- lock(lockHolder) {
- if (ActionIsValid()) {
- DoSomething();
- }
- }
- }
- if (someCondition) {
- lockObj.EnterReadLock();
- try { Foo(); }
- finally { lockObj.ExitReadLock(); }
- } else {
- lockObj.EnterWriteLock();
- try { Foo(); }
- finally { lockObj.ExitWriteLock(); }
- }
- bool locked = false;
- if (condition) {
- Monitor.Enter(lockObject);
- locked = true;
- }
- try {
- // possibly critical section
- }
- finally {
- if (locked) Monitor.Exit(lockObject);
- }
- private Monkey GetScaryMonkey(int numberOfHeads){
- Monkey ape = null;
- lock(this) {
- ape = new Monkey();
- ape.AddHeads(numberOfHeads);
- }
- return ape;
- }
- private Monkey GetScaryMonkey(int numberOfHeads){
- if ( numberOfHeads > 1 ) {
- lock(this) {
- return CreateNewMonkey( numberOfHeads );
- }
- }
- return CreateNewMonkey( numberOfHeads );
- }
Add Comment
Please, Sign In to add comment