Implement a Concurrent Binary Search Tree

Problem Description:

You are required to implement a concurrent binary search tree (BST) in Node.js. The concurrent BST should support multiple concurrent read and write operations without compromising data consistency. Specifically, you need to implement the following functionalities:

Insertion Operation: Implement a method to insert a new node into the BST while maintaining the binary search tree property.

Deletion Operation: Implement a method to delete a node from the BST while preserving the binary search tree property.

Search Operation: Implement a method to search for a given key in the BST.

Concurrent Access: Ensure that multiple read operations (searching) can be performed concurrently without conflicting with write operations (insertion and deletion).

Data Consistency: Ensure that concurrent operations do not result in data inconsistency, such as race conditions or corrupted tree structure.

Expecting good logic and DSA!