多线程资源数据的临界区保护

inline int InitializeCriticalSection(CRITICAL_SECTION *lock)
{
 
    pthread_mutexattr_t attr;
    pthread_mutexattr_init(&attr);
        // PTHREAD_MUTEX_RECURSIVE
        // PTHREAD_MUTEX_DEFAULT
    pthread_mutexattr_settype(&attr,PTHREAD_MUTEX_RECURSIVE);
    pthread_mutex_init(lock,&attr);
    return 0;
}

inline int DeleteCriticalSection(CRITICAL_SECTION *lock)
{
      pthread_mutex_destroy( lock );
    return 0;
}

inline void EnterCriticalSection(CRITICAL_SECTION *lock)
{
      pthread_mutex_lock( lock );
}

inline void LeaveCriticalSection(CRITICAL_SECTION *lock)
{
      pthread_mutex_unlock( lock );
}

windows下 同等函数名称

posted on 2022-01-20 23:49  lydstory  阅读(59)  评论(0)    收藏  举报

导航