O'Reilly logo
  • Rajnesh tripathi thinks this is interesting:

There are different ways to handle “concurrency” in software. The essential idea of concurrency is to allow multiple things to happen at the same time. This is common on servers since more than one user will typically be accessing the server at the same time. Platforms like Java will spawn a new thread on each connection. Threading is expensive, costing about 4MB of memory for each and limiting the number of threads that can be running at once. On a 4GB server, this would be about 4,000 concurrent connections. It’s also difficult to develop platforms that are thread-safe allowing for that functionality.

Because of that complexity, languages such ...