2017-10-23 5 views
0

は、着脱可能なPOSIXスレッドを作成するために2つの解決策がある:ThreadAttrのpthread_attr_t取り外し可能なスレッドの推奨慣行は何ですか:pthread_detachまたはpthread_attr_setdetachstate?

  1. 。 pthread_attr_init(& ThreadAttr); pthread_attr_setdetachstate(& ThreadAttr、PTHREAD_CREATE_DETACHED); pthread_create(...); pthread_attr_destroy(& ThreadAttr)

  2. pthread_detachの(...)

    whatisは、各ソリューションのプロ&コン?

答えて

0

pthread_detachの構文は簡単です。スレッド属性に基づくアプローチでは、将来のpthread_detachまたはpthread_joinの呼び出しをスレッド上でサポートする必要がないため、新しいスレッドの作成を最適化する機会が実装に与えられます。

さらに、POSIXによると、detachstate属性をPTHREAD_CREATE_DETACHEDに設定することは、結合できないスレッドを作成する唯一の方法であり、pthread_detachは結合可能なスレッドを非結合可能なスレッドにしません。しかし、glibc gets this wrong、それはあなたにとって重要ではないかもしれません。

関連する問題