【发布时间】:2013-04-30 12:10:21
【问题描述】:
我正在将一个现有的 c++ 项目移植到 Objective-c++ 并遇到了这个互斥锁的东西。我不确定这里做了什么,如果它是正确的。要初始化某种多线程锁机制(称为“CriticalSection”),请执行以下操作:
#include <pthread.h>
pthread_mutex_t cs;
pthread_mutexattr_t attr;
后面的代码:
pthread_mutexattr_init(&attr);
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
pthread_mutex_init(&cs, &attr);
进入“锁”有:
pthread_mutex_lock(&cs);
离开“锁”:
pthread_mutex_unlock(&cs);
pthread_mutex_destroy(&cs);
我的问题(因为我不知道这是如何完成的)是:这看起来像一个正确的实现吗? 因为我遇到的问题看起来好像锁定机制不起作用(错误的内存访问错误,在使用“CriticalSection”的情况下损坏的指针)。
【问题讨论】:
标签: ios multithreading objective-c++ mute