1

次のようNULLに呼び出すときに、なぜそのような引数( pointer(s) )がステップバイステップで説明できますか?pthread_create

pthread_create(&id_thread1,NULL,thread1,NULL);

thread1?のデフォルト属性になります。

pthread.hここでファイルが重要な要素であることはわかっています。残念ながら、その理由はわかりません。コードは私には洗練されすぎています。

前もって感謝します!

4

2 に答える 2

4

への署名pthread_createは次のとおりです。

   int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                      void *(*start_routine) (void *), void *arg);

2 番目の引数はpthread_attr_t*ポインターです。これにより、オブジェクトを使用して、スケジュール ポリシーやスレッド スタック サイズなど、スレッドのさまざまな属性pthread_attr_tを設定できます。attrの場合NULL、デフォルトの属性が使用されます。

4 番目の引数は、スレッドの開始時にvoid*渡される任意のユーザー データを指すポインタです。start_routineの場合argNULL、ヌル ポインターが渡されます。

于 2013-01-18T16:27:14.223 に答える
0

[...] そのようなパラメータが [...] スレッド 1 のデフォルト属性になるのはなぜですか?

pthread の仕様では、 がこの特定の関数の引数(「パラメータ」ではなく)NULLとして渡される場合に、これが当てはまることが要求されるためです。

于 2013-01-18T16:26:10.303 に答える