-1

pthread プログラミングは初めてなので、このコードを理解するのに苦労しています。私が理解していることから、N 個のスレッドを作成し、スレッド番号のみを出力するrun関数を実行します。何か不足していますか?

この特定のケースで、printf よりも snprintf (バッファ付き) を使用する利点はありますか? このプログラムをさらに改善することはできますか?

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

static int N = 5;
static void* run(void *arg)
{
    int *i = (int *) arg;
    char buf[123];
    snprintf(buf, sizeof(buf), "thread %d", *i);
    return buf;
}

int main(int argc, char *argv[])
{
   int i;
   pthread_t *pt = NULL;
   for (i = 0; i < N; i++) {
       pthread_create(pt, NULL, run, &i);
   }

   return EXIT_SUCCESS;
}
4

1 に答える 1