On windows, when you do I/O, you can do it async using the OVERLAPPED option. Is there any difference between doing that vs performing the I/O synchronously on another thread? If so, which is better? Does the OS just spawn a separate thread in async case, or does it just queue it on the driver thread and send signal instead of block wait?
Thanks!