Original Post
The software I'm working on is a client/server model that we hope to keep the server cross-platform compatible. One situation we hope to avoid of course is one client that needs a lot of processing or disk access and they prevent other clients from processing until it is done. I've looked into boost.threads a little for multithreading the application and have a few questions reguarding that, but first I was wondering which would be better to use. Multi-threading or multi-process? From what I have gathered multi-process is where instead of threads a server would spawn separate application instances in order to handle multiple requests like apache does. To me spawning children to handle the requests would be a safer and more elegent solution since each client has it's own application space and a crash shouldn't effect all of the clients. I was interested in trying to prototype a client/server where the server spawned child processes for handling but I can't seem to find a cross-platform C++ library for actually spawning child processes. Does anyone know of a library that does this? Is this even the best method to use or should I stick to multi-threading?