回答編集履歴

2 内容追記

can110

can110 score 18569

2017/02/09 20:51  投稿

Wikipediaの[cURL](https://ja.wikipedia.org/wiki/CURL)によるとlibcurlはスレッドセーフです。
ただし[curl_setopt](http://cnd.law.tohoku.ac.jp/manual/php/function.curl-setopt.html)に記載されているように、一部のオプション(処理)はスレッドセーフではないようです。
まずは以下が参考になるかと思います。
[libcurlをスレッドで使うためには、curl_easy_setoptでCURLOPT_NOSIGNALを指定する必要があるみたい](http://d.hatena.ne.jp/heiwaboke/20100322/1269243017)
なお当然ですが、一般的にライブラリ(libcurl)の管理外の処理(取得した結果を同一ファイルに出力など)は、呼出側で適切に競合制御をおこなう必要があります。
ポートに関する質問の追記について
---
接続サーバのプロトコルなど詳細が不明ですが、基本的にクライアント(curl)側が心配することではないと思います。
たとえば1マシンで複数ブラウザを立ち上げ、同じHTTPサーバに同時にリクエストをかける状況と同じです。
たとえば1マシンで複数ブラウザを立ち上げ、同じHTTPサーバ(ポート番号も同じ)に同時にリクエストをかける状況と同じです。
1 内容追記

can110

can110 score 18569

2017/02/09 20:50  投稿

Wikipediaの[cURL](https://ja.wikipedia.org/wiki/CURL)によるとlibcurlはスレッドセーフです。
ただし[curl_setopt](http://cnd.law.tohoku.ac.jp/manual/php/function.curl-setopt.html)に記載されているように、一部のオプション(処理)はスレッドセーフではないようです。
まずは以下が参考になるかと思います。
[libcurlをスレッドで使うためには、curl_easy_setoptでCURLOPT_NOSIGNALを指定する必要があるみたい](http://d.hatena.ne.jp/heiwaboke/20100322/1269243017)
なお当然ですが、一般的にライブラリ(libcurl)の管理外の処理(取得した結果を同一ファイルに出力など)は、呼出側で適切に競合制御をおこなう必要があります。
なお当然ですが、一般的にライブラリ(libcurl)の管理外の処理(取得した結果を同一ファイルに出力など)は、呼出側で適切に競合制御をおこなう必要があります。
ポートに関する質問の追記について
---
接続サーバのプロトコルなど詳細が不明ですが、基本的にクライアント(curl)側が心配することではないと思います。
たとえば1マシンで複数ブラウザを立ち上げ、同じHTTPサーバに同時にリクエストをかける状況と同じです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る