C++のpthreadライブラリを使用する方法
Pthreadライブラリを使用するには、ヘッダファイル#include をインクルードする必要があります。
以下に簡単な例を示します。この例は、pthread ライブラリの使用によるスレッドの作成と実行方法を示しています。
#include <iostream>
#include <pthread.h>
// 线程函数,用于并行执行的任务
void* threadFunction(void* arg) {
std::cout << "Hello from thread!" << std::endl;
return nullptr;
}
int main() {
pthread_t threadId; // 存储线程ID的变量
// 创建线程,传入线程函数和参数
int result = pthread_create(&threadId, nullptr, threadFunction, nullptr);
if (result != 0) {
std::cerr << "Failed to create thread." << std::endl;
return 1;
}
// 等待线程结束
result = pthread_join(threadId, nullptr);
if (result != 0) {
std::cerr << "Failed to join thread." << std::endl;
return 1;
}
std::cout << "Thread completed." << std::endl;
return 0;
}
この例では、pthread_create()関数は新しいスレッドを作成し、スレッドIDをthreadId変数に格納するために使われています。関数の引数にはスレッドID変数、スレッド属性(nullptrに設定しデフォルト属性を使用可能)、スレッド関数、関数引数が含まれています。
スレッドの作成後に、pthread_join() 関数を使用してスレッドが完了するのを待つことができます。pthread_join() 関数は、指定されたスレッドが実行を完了するまでメインスレッドをブロックします。
C++11以降をサポートするコンパイラとpthreadライブラリがサポートされているOS、または、コンパイル環境が必要になります。