Pthread:必须使用动态互斥初始化时

时间:2018-01-27 04:51:28

标签: c initialization pthreads

众所周知,有两种方法可以初始化pthread互斥(C语言)

  1. 静态初始化:

    pthread_mutex_t mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
    
  2. 动态初始化:

    pthread_mutexattr_t attr;
    pthread_mutex_t mutex;
    pthread_mutexattr_init(&attr);
    pthread_mutexattr_settype(&attr, PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP); 
    pthread_mutex_init(&mutex, &attr);
    
  3. var 1 - 我多次使用它。

    var 2 - 我发布此问题的原因: 如果有人能够在必须使用pthread互斥锁的动态初始化时为我提供一些真实的例子,那将非常感激。

    谢谢!

1 个答案:

答案 0 :(得分:2)

如果默认属性不适合,您始终需要pthread_*_init()个功能。

An example can be found at the bottom of this page