问题
Normally when I want to run a executable from a c++ code. I just use the code:
system("path\to\the\executable param");
Now, I want to run the executable file in parallel. I use 2 threads. The first thread will call:
system("path\to\the\executable param1");
The second thread will call:
system("path\to\the\executable param2");
However it doesn't run in parallel as I expect.
Is there in way to solve this?
回答1:
You can run multiple commands as below:
system("path\\to\\the\\executable param1 &");
system("path\\to\\the\\executable param2");
This way both will run in parallel, and your program doesn't need to be multi-threaded for this.
回答2:
- For windows: CreateProcess (see MSDN) function.
- For *NIX: first, spwan a child with fork, then replace a child code with execXX (execl, execle, execlp, execv, execvp).
来源:https://stackoverflow.com/questions/23595141/how-to-execute-system-command-in-parallel-in-c