許容関数-pthread


pthread_createman page
#include <pthread.h>

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

/*
성공하면 0을 반환하고, 그 외에는 오류를 나타내는 오류번호를 반환.
*/
pthread_t
スレッドはプロセス中に一意のスレッドIDに分割され、そのスレッドIDのデータ型がpthread_tであることを示す.pthread_tは、異なるオペレーティングシステム上で異なる実装を有するため、異なるデータ型の採用を可能にする.
  • Mac OS X:pthread構造のポインタ
  • pthread createのパラメータ
  • threadpthread createが正常に実行されると、生成されたスレッドのスレッドIDがポインタが指すバッファに含まれます.
  • attrねじアトリビュートのパラメータを設定します.NULLを入力すると、デフォルトの属性値が入力されます.
  • start_routinepthread createによって作成された新しいスレッドが実行する関数.この関数は、pthread createの4番目のパラメータargというパラメータを受け入れます.
  • arg start_routinue関数に渡されるパラメータ.
  • Linuxプログラミング-スレッドの識別と作成 pthread_detachman page
    #include <pthread.h>
    
    int	pthread_detach(pthread_t thread);
    
    /*
    성공하면 0을 반환하고, 그 외에는 오류를 나타내는 오류번호를 반환. errno는 변경하지 않는다.
    */
    pthread_create()によって生成されたスレッド終了時にスレッドリソースを回収する関数.pthread_detach()を使用する必要はなく、pthread_create()に属性(attr)を付与すれば、スレッド終了時にリソースを回収することができる.pthread_detach関数が実行される前にスレッドが終了する場合があるため、attrを介してリソースを解放する方法がより安全である.
    C言語:スレッドpthread detach()例-分離スレッド
    pthread_attr_setdetachstate pthread_joinman page
    #include <pthread.h>
    
    int	pthread_join(pthread_t thread, void **value_ptr);
    
    /*
    성공하면 0을 반환하고, 그 외에는 오류를 나타내는 오류번호를 반환.
    */
    関数を使用して、スレッドが終了するのを待ってから、スレッドの戻り値ポインタを受信します.終了スレッドのリソースも解除され、pthread_detachと同時に使用できません.
    パラメータ
  • thread終了するスレッドのID
  • value_ptrパラメータがNULLの場合、終了待ちスレッドの戻り値、すなわちstart_routineが返す戻り値を得ることができる.
  • C言語:スレッドpthread join()例-スレッド終了待ち
    ねじ(THREAD)の概念と例