Concurrent Trie Data Structure using Single Locking, Reader Writer's Locking and Hand over Hand Locking.