正如http://curl.haxx.se/libcurl/c/curl_global_init.html所说,curl_global_init()
是必需的,但是这个函数不是线程安全的。代码如下:
// main process
curl_global_init(); // 1 curl_global_init
pid = fork();
if (pid == 0) {
// Child process
curl_global_init(); // 2 curl_global_init
// ... curl functions
} else {
// parent process
// ... curl functions
}
子进程是否需要再次调用
curl_global_init
?我认为子进程从父进程复制内存空间,您不需要再次调用
curl_global_init
。对吗? 最佳答案
curl_global_init
将被调用一次。记住,两个fork在调用时都会创建进程的副本,所以它也会复制curl的状态。因此,如果在fork之前已经完成了初始化,则无需在子进程中再次调用curl_global_init
。
关于c - 使用curl的多进程,何时必须调用curl_global_init?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9859783/