pramod , Marco Alka First of all thanks for such a nice and detailed discussion. I am new in NodeJs and after reading your discussion I have few doubts. It is known that NodeJs is a single thread programming language but I strongly believe that multiple requests from clients/webSockets should be running in different threads. Now, my question here is if any variable (for both cases, class level or function level variables) is called by different threads will NodeJs keep its different instances for different threads? I came across a situation where my variable was getting corrupted just after using ''require 'xml-parse'" (). I was having a strong feeling that it was corrupting my stack but now I am confused if it was corrupting the stack or the heap. I am also using lock (via https://www.npmjs.com/package/mutexify) in my NodeJs project, only for a critical code section 1. should I also use it for a class level or any other type of variables in case of multithreading? 2. Is it useful or reliable using locks in NodeJs as my debugger is not waiting for the lock to be released instead it passes the lock section and calls it later?