C++ 的 exec
函数本身并不能直接处理多线程。exec
系列函数(如 execl
, execv
, execle
, execvp
等)用于在当前进程的上下文中替换一个新的程序,并用新程序的代码替换当前进程的代码。当新程序执行时,原来的进程就不存在了。
如果你想在 C++ 中使用多线程并处理它们,你可以使用 C++11 标准库中的 <thread>
头文件。这个头文件提供了一系列用于创建和管理线程的类和函数。你可以使用这些功能来实现多线程应用程序,并在其中处理线程之间的同步和通信。
下面是一个简单的 C++ 多线程示例:
#include <iostream>
#include <thread>
void print_hello() {
std::cout << "Hello from thread " << std::this_thread::get_id() << std::endl;
}
int main() {
std::thread t1(print_hello);
std::thread t2(print_hello);
t1.join();
t2.join();
return 0;
}
在这个示例中,我们创建了两个线程 t1
和 t2
,它们都执行 print_hello
函数。std::this_thread::get_id()
用于获取当前线程的 ID,并在控制台输出每个线程的 ID。join()
函数用于等待线程完成执行。