ロックメモ

ロック獲得できなければスルー

static private object _lockObj = new object();

static public void Function() {
	if (Monitor.TryEnter(_lockObj)) {
		try {
			// 処理
		} finally {
			Monitor.Exit(_lockObj);
		}
	}
}

ロック獲得できなければ待つ

static private object _lockObj = new object();

static public void Function() {
	lock (_lockObj) {
		// 処理
	}
}

trylockとか言語実装してくれてもいい気がするんだけど