Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- internal FineBstNode<TK, TV> Find(TK key)
- {
- var cur = Root;
- cur?.FineMutex.WaitOne();
- while (cur != null)
- {
- switch (cur.Key.CompareTo(key))
- {
- //Eq
- case 0:
- cur.FineMutex.ReleaseMutex();
- return cur;
- //Greater
- case 1:
- cur.Left?.FineMutex.WaitOne();
- cur.FineMutex.ReleaseMutex();
- cur = cur.Left;
- break;
- // Less
- case -1:
- cur.Right?.FineMutex.WaitOne();
- cur.FineMutex.ReleaseMutex();
- cur = cur.Right;
- break;
- }
- }
- return null;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement