pthread_create()の使い方【Linux C言語 スレッド作成】
Linuxで、pthread_create関数は新しいスレッドを作成するために使用されます。その構文は以下の通りです:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
以下、その中で、パラメータの意味は次の通りです:
- スレッド:新しいスレッドのIDを保存するために使用される。
 - attr: スレッド属性は、通常はNULLに設定します。
 - start_routine:threadの入り口関数、つまり新しいthreadが実行を始めるアドレス。
 - arg:start_routine関数に渡される引数。
 
pthread_create関数を使用して新しいスレッドを作成する方法を示す簡単な例を以下に示します。
#include <stdio.h>
#include <pthread.h>
void *myThread(void *arg) {
    int *num = (int *)arg;
    printf("Thread ID: %ld, Number: %d\n", pthread_self(), *num);
    return NULL;
}
int main() {
    pthread_t tid;
    int number = 10;
    
    pthread_create(&tid, NULL, myThread, &number);
    
    pthread_join(tid, NULL);
    
    return 0;
}
上記の例では、まず、myThreadというスレッド関数が定義され、その後、メイン関数mainでpthread_create関数を使用して新しいスレッドを作成し、numberというパラメータを新しいスレッドに渡します。最後に、pthread_join関数を使用して新しいスレッドの実行が完了するのを待ちます。
新しいスレッドを作成する際にpthread_create関数を使用するときには、pthreadライブラリをリンクする必要があります。以下のコマンドを使用してプログラムをコンパイルできます:
gcc -o myprogram myprogram.c -lpthread