Because the Spring team is communicating about the pros/cons of the async, non-blocking runtime model, developers are paying more attention to available threads in their WebFlux applications.
Per my comment on that question, I don't think we can document everything here, since we rely on the underlying web server, datastore drivers, and much more (and all of those might depend on the operating system). Developers can also apply scheduling operators on the pipeline, which will change the picture when looking at application threads.
Currently, libraries like Reactor and Reactor Netty don't document this in details.
On the other hand, our reference documentation could have a few pointers and explain:
- the general threading model and how libraries, choice of operators and operating systems can change the picture
- that one should not use block or subscribe operators within WebFlux Controllers
- how publishOn and subscribeOn operators should be used with great care