병렬 프록시 요청에는 별도의 libcurl 핸들 소유권이 필요합니다
요청이 서로 다른 프록시를 사용할 때 libcurl 핸들은 한 번에 하나의 스레드 소유 아래에 두십시오.
프록시 옵션은 libcurl easy 핸들에 속합니다. 한 스레드가 같은 핸들에서 전송을 수행하는 동안 다른 스레드에서 그 옵션을 변경하면 핸들의 소유권 규칙을 위반합니다.
libcurl은 문서화된 규칙을 따르면 스레드 안전합니다. 하나의 핸들에 대한 임의의 동시 접근을 내부에서 동기화하지는 않습니다. 병렬 작업자에게 각자의 핸들을 주거나, 이전 사용자가 끝난 뒤에만 소유권을 넘기십시오.
share 인터페이스에는 별도의 잠금 요구 사항과 제한이 있습니다. 공유 easy 핸들의 모든 설정을 모든 작업자가 변경해도 된다는 허가가 아닙니다.
오래된 프록시 스레드 예제에는 구버전 TLS 라이브러리를 위한 잠금 콜백이 자주 포함됩니다. 실제 TLS 백엔드와 빌드에 대한 현재 스레드 안전성 문서를 확인하십시오. 과거 OpenSSL 콜백을 현재 애플리케이션에 복사하는 것은 올바른 핸들 소유권을 대체하지 못합니다.
동시에 사용하기 전에 문서화된 시작 요구 사항에 따라 라이브러리의 전역 상태를 초기화하십시오. 공개 중개자를 통해 허용되는 공개 요청에는 무료 프록시 목록이 각 작업자의 프록시 옵션 후보를 제공합니다. 프로토콜은 libcurl 빌드에 맞추십시오. 실패한 작업마다 핸들에 구성된 프록시와 그 작업 자체의 오류 결과를 보존하십시오. 여러 전송이 진행 중일 때 전역 “현재 프록시” 변수는 좋지 않은 식별자입니다.