Does async await always use thread pool? I really don't understand how this works. Some example, i made an async request to database, let's imagine its postgresql, with postgresql driver. I made that request, the request go to the driver and send to the database itself, like many books says, the thread pool (Go to do other work). But who and how is waiting for the response of the database? Do we need other thread to wait for the response or what?
Ok another question like this too, we make a call to some text file using some async method, he go and read that file, thread "again go do some other things", so who here wait for returned result, does this use thread for waiting the results or some other mechanism working on it? Would be happy for detailed answer :)