を開始、私はこことpthreadのプログラミングにnoobの新たなんです。 私の問題は、私はスレッドをカプセル化するために作成しようとしていることを、C++クラスです。 私はpthreadを作成するときに、Cの関数をpthread_createに渡して起動時に実行する必要があることを見ていました... pthreadがその関数を実行すると、stdoutのメッセージは出力されません!pthreadのではありませんcoutの印刷機能
しかし、あなたがコード見ればそれが良いでしょう:
int main()
{
Thread *th=new Thread();
return 0;
}
:私はこのように呼んで (明らかにそれがコピーだと、インターネットのチュートリアルから貼り付け^^)メインで
void *runAtStart(void *threadid)
{
long tid;
tid = (long)threadid;
printf("Hello World! It's me, thread #%ld!\n", tid);
pthread_exit(NULL);
}
Thread::Thread() {
pthread_t threads[1];
int rc;
long t;
for(t=0; t<1; t++){
printf("In main: creating thread %ld\n", t);
rc = pthread_create(&threads[t], NULL, runAtStart, (void *)t);
if (rc){
printf("ERROR; return code from pthread_create() is %d\n", rc);
// exit(-1);
}
}
}
を生成される出力は次のとおりです。
In main: creating thread 0
誰かが理解してくれることを願っています! 私の英語には申し訳ありません! :) Inzirio
ありがとう、私はそれを試してみましょう!私はそれについてthougthしたくない! ;) – inzirio