日期:2014-05-17  浏览次数:20858 次

请教一个线程安全问题
我有一个类,有三个方法
void EXEC();
int EXEC();
void EXIT();

这个类允许外部重复或多次调用EXEC方法,但是,EXIT方法必须在外部都没有调用或者全部调用完成EXEC才允许执行,同时在执行EXIT方法时不允许外部调用EXEC方法(相当于锁)
请问应该用什么互斥变量来实现?
------解决方案--------------------
你需要给类定义个引用计数,每次调用Excel方法的时候给计数加一,方法结束后就减一,这样你只需保证这个引用计数是线程安全的就可以了,再调用Exit时检查引用计数是否为0