2

有什么区别:

thread_envs[i] = soap_copy(&env);

thread_envs[i] = soap_new();

我们应该使用其中之一还是两者都使用?

4

2 回答 2

2

从文档中:

struct soap *soap_new()

分配、初始化并返回指向运行时环境的指针

struct soap *soap_copy(struct soap *soap)

分配新的运行时环境并复制环境的内容,使新环境不与原始环境共享任何数据

于 2009-12-24T15:05:59.097 回答
1

答案实际上取决于您的意图:您想要为每个线程创建一个新的空白环境(use soap_new())还是为每个线程创建一个现有环境的单独副本(use soap_copy())。复制环境的过程可能会有一些额外的开销,所以在所有其他条件相同的情况下,使用soap_new().

于 2009-12-24T15:07:04.680 回答