ホームページ >バックエンド開発 >C++ >MinGW-w64 は Win32 スレッドで「std::thread」「すぐに使用できる」をサポートしていますか?

MinGW-w64 は Win32 スレッドで「std::thread」「すぐに使用できる」をサポートしていますか?

DDD
DDDオリジナル
2024-11-02 00:08:29274ブラウズ

Does MinGW-w64 Support `std::thread`

MinGW-w64 は Win32 スレッドで std::thread を「すぐに使用できる」ようにサポートしていますか?

Win32 スレッド モデルを使用する場合MinGW-w64 ツールチェーンを使用すると、一部のユーザーは std::thread へのアクセスに問題が発生します。この問題は、ツールチェーンのスレッド機能の誤解に起因します。

MinGW-w64 と POSIX スレッド

POSIX スレッド モデルは MinGW でそのままサポートされていますが、 -w64、Win32 モデルには追加の構成が必要です。 GCC はネイティブ スレッド サポートを提供せず、代わりに glibc の gthread または pthread にスレッド処理を依存します。ただし、MinGW-w64 には glibc のポートが含まれていません。

pthreads と Win32 Threading

MinGW-w64 の最近のバージョンには、pthreads の Win32 ポートが含まれており、 Win32 スレッド モデルでのスレッドのサポート。インストール中に「pthread」モデルを選択することで、ユーザーはこの機能を有効にできます。

解決策

Win32 スレッド モデルで std::thread を使用するには、ユーザーは 2 つのスレッドを持っています。オプション:

  1. スレッド ライブラリの Win32 実装を提供する、mingw-std-threads ヘッダーをインストールします。
  2. MinGW-w64 のインストール プロセス中に pthreads モデルを使用します。これには、必要なスレッド ランタイム。

以上がMinGW-w64 は Win32 スレッドで「std::thread」「すぐに使用できる」をサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。