c++ 程序互斥算法(文件锁以及互斥锁)
来源:互联网 发布:centos 6.5配置要求 编辑:程序博客网 时间:2024/06/10 17:15
一、基于APR
bool check_lock_file()
{
apr_status_t rv;
apr_file_t *fp;
char fname[20] = "./processlock.ini";//文件锁文件
if ((rv = apr_file_open(&fp, fname, APR_WRITE|APR_CREATE, APR_OS_DEFAULT, mp)) != APR_SUCCESS)//打开失败(如果该文件不存在则先创建,打开方式默认,内存池mp)
{
return FALSE;
}
rv = apr_file_lock(fp, APR_FLOCK_EXCLUSIVE | APR_FLOCK_NONBLOCK);//给文件上锁------------------一个文件不能同时上两把锁
if (rv != APR_SUCCESS)
{
LOG4CXX_INFO(logger1,"Lock file Error! Another process is running!");//日志文件
return FALSE;
}
return TRUE;
}
二、基于winapi的
HANDLE hMutex = CreateMutex(NULL, FALSE, LPCTSTR("Mutex_Only_One_Instance_Allowed"));//创建互斥题
if (NULL == hMutex)//创建失败
{
return -1;
}
DWORD dw = WaitForSingleObject(hMutex, 0);
if (WAIT_FAILED == dw)
{
CloseHandle(hMutex); // 释放句柄,当指向同一系统对象的所有句柄释放后,该对象将被删除。
return -1;
}
else if (WAIT_TIMEOUT == dw)
{
//另外一个实例正在运行
CloseHandle(hMutex);
return 1;
}
- c++ 程序互斥算法(文件锁以及互斥锁)
- java和c 互斥文件锁问题
- 建立程序互斥
- 算法:互斥集合
- 互斥:软件算法
- 文件读写互斥
- C++程序互斥方法
- peterson互斥算法 1981
- 分布式系统互斥算法
- linux c 线程互斥
- linux c 线程互斥
- linux c 线程互斥
- linux c线程互斥
- c语言实现互斥
- [原]文件读写互斥
- 分布式系统互斥算法---分布式算法
- darkstar 线程互斥原理以及测试!
- 线程同步互斥方式以及区别
- 学习中医之读书计划
- 在Windows上构建Android应用开发环境
- 百度地图_根据地图上标记位置获取街道信息,以及经纬度信息
- 结构化分析方法
- apche2.2.22 网页压缩配置
- c++ 程序互斥算法(文件锁以及互斥锁)
- QQ邮箱的订阅邮件怎么取消订阅?
- 向量乘积
- 自己总结的大数据的导入和导出
- 需求分析方法分类
- oracle创建外键出现未找到父项关键字
- Java邮件发送程序
- 关于extjs中引入外部样式的问题
- 常见杀毒软件、特点及其查杀原理