So recently there has been a lot of emphasis by almost all platform providers to provide new tools/language constructs for better concurrency. And that is also one of the re
To my understanding, the question arises from the complication of two different implications of the concept concurrency: the concurrent service of a web site to user requests (macro level) vs. the concurrent execution of two programs/processes/threads (micro level).
They use both the same word concurrent, yet the former is homogeneous, if we simply assume the server provides just one service, and there is no interaction/commonage between the macro-level services provided to different users. Even if the services to different users go to the data storage level and thus contend for IO resources, that's more of a problem of the micro-level: two queries/writes race against each other for common resources. As an abstraction the services provided to users are always homogeneous, therefore concurrency functionality/libraries provided by platforms (you mean Java, .Net, and etc. I guess) has nothing to do with web apps, but with only the micro operations far beneath them.