違いは何ですか:
thread_envs[i] = soap_copy(&env);
と
thread_envs[i] = soap_new();
どちらかまたは両方を使用する必要がありますか?
違いは何ですか:
thread_envs[i] = soap_copy(&env);
と
thread_envs[i] = soap_new();
どちらかまたは両方を使用する必要がありますか?
ドキュメントから:
struct soap *soap_new()
ランタイム環境へのポインターを割り当て、初期化し、返します。
struct soap *soap_copy(struct soap *soap)
新しいランタイム環境を割り当て、環境の内容をコピーして、新しい環境が元の環境とデータを共有しないようにします
答えは本当にあなたの意図に依存します: スレッドごとに新しい空の環境が必要なのか ( を使用soap_new()
)、それともスレッドごとに既存の環境の個別のコピーが必要なのか ( を使用soap_copy()
)。環境をコピーするプロセスにはおそらく追加のオーバーヘッドがあるため、他のすべての条件が等しい場合は、soap_new()
.