我在.cpp中有一个代码
namespapce A
{
namespace
{
static CMutex initMutex;
}
void init()
{
//code here
}
void uninit()
{
//code here
}
}
Run Code Online (Sandbox Code Playgroud)
如果我删除互斥锁中的静态并且是否存在静态,有什么不同?静电有什么用?
谢谢!
如果互斥是静态的,并且如果它已经在标题中并且该标题包含在2个cpp文件中(2个转换单位),则第一个文件中的代码所应用的锁将不会被第二个文件看到,这是危险的.这是因为2个单元具有互斥的单独静态.在这种情况下,全局互斥是优选的.
如果这是C++,那么使用RAII机制来管理互斥锁和解锁.这是c ++,哪个类?将事物封装到一个类中.
RAII示例(基本的,事情可以封装到类中):http: //en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization
| 归档时间: |
|
| 查看次数: |
4515 次 |
| 最近记录: |