1. A method for facilitating network communications from one or more virtual user threads, comprising steps of: storing a request object generated by one or more virtual user threads in a data structure, each of the one or more virtual user threads simulating a computer that is communicating with a server and configured to generate and then insert request objects into the data structure, the request object describing a request for an outgoing network operation and having state information; retrieving the request object from the data structure by a dedicated worker thread, the dedicated worker thread being different from the one or more virtual user threads and configured to process the outgoing network operation described by the request object; modifying the request object by the dedicated worker thread to indicate a change of state; sending a non-blocking function call from the dedicated worker thread to a networking module; sending the request object from the dedicated worker thread to the networking module; executing the non-blocking function call to the networking module; and storing a notification of completion in the data structure by the networking module, wherein the notification of completion corresponds to the request object.