多个类的多个共享变量需要互斥访问,该如何设计互斥方式
结构是这样的:
有多种实体类,如CLine,CArc
有一个实体集合类管理所有实体,CObjectMgr,其中有实体数组作为成员存储所有实体
实体集合类提供获得实体指针的函数,取出实体指针后,可调用实体的成员函数对其进行修改和访问
现在要在多个线程中使用实体集合来获得实体指针,进行操作.
我现在采用的方法是在每个实体类的所有成员函数中加如互斥锁,使用mutex,这样递归调用也可以
但是随着工程的膨胀和开发人员的增加,不能很好的保证每个实体类的成员函数都自觉调用互斥锁
我想问问大家有没有什么好的设计