- 博客(7)
- 资源 (1)
- 收藏
- 关注
转载 SQLite在多线程环境下的应用
转自:http://www.cppblog.com/inkcpp/archive/2012/03/07/167308.html这几天研究了一下SQLite这个嵌入式数据库在多线程环境下的应用,感觉里面的学问还挺多,于是就在此分享一下。先说下初衷吧,实际上我经常看到有人抱怨SQLite不支持多线程。而在iOS开发时,为了不阻塞主线程,数据库访问必须移到子线程中。为了解决这个矛盾,
2016-06-29 11:18:18 2032
原创 sqlite多进程并发读写模式下,返回SQLITE_BUSY错误的处理方法
SQLite作为一款小型的嵌入式数据库,本身没有提供复杂的锁定机制,无法内部管理多路并发下的数据操作同步问题,更谈不上优化,所以涉及到多路并发的情况,需要外部进行读写锁控制,否则SQLite会返回SQLITE_BUSY错误,以驳回相关请求,这是由于使用当前连接访问数据时,要申请相应级别的锁,而各个级别的锁有些是互斥的,当申请不到锁时就会返回这个错误。这时只要稍等片刻,等其它连接的操作处理完,释放了
2016-06-24 18:38:41 25134 3
转载 Google 的开源技术protobuf 简介与例子
本文来自CSDN博客:http://blog.csdn.net/program_think/archive/2009/05/31/4229773.aspx 今天来介绍一下“Protocol Buffers ”(以下简称protobuf)这个玩意儿。本来俺在构思“生产者/消费者模式 ”系列的下一个帖子:关于生产者和消费者之间的数据传输格式。由于里面扯到了protobuf
2016-06-23 14:32:24 564
转载 cmake使用示例与整理总结
cmake中一些预定义变量PROJECT_SOURCE_DIR 工程的根目录PROJECT_BINARY_DIR 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/buildCMAKE_INCLUDE_PATH 环境变量,非cmake变量CMAKE_LIBRARY_PATH 环境变量CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.
2016-06-16 14:15:31 1720
原创 sqlite内存数据库和文件数据库的同步
由于sqlite对多进程操作支持效果不太理想,在项目中,为了避免频繁读写 文件数据库带来的性能损耗,我们可以采用操作sqlite内存数据库,并将内存数据库定时同步到文件数据库中的方法。实现思路如下:1、创建文件数据库;2、创建内存数据库(文件数据库、内存数据库的内幕表结构需要一致);3、在内存数据库中attach文件数据库,这样可以保证文件数据库中的内容在内存数据库中可见;4、
2016-06-14 17:45:37 20302 3
原创 string类型的格式化输出
在c语言中,对于char类型,我们有spirntf、snprintf进行格式化输出,但是string类型对格式化输出的支持不是很理想;例如对于功能sprintf(str, "bob's address is %s, and kevin's address is %s\n", add1, add2);可以定义一个stringstreamstd::stringstream fmt;f
2016-06-06 19:28:10 5271
原创 C++11: g++-4.7 internal compiler error 解决方法
在linux虚拟机下编译文件时,出现如下错误:C++11: g++-4.7 internal compiler error检查程序很久没有找出问题,最后发现居然是虚拟机运行内存不够了大量template的扩展需要足够的内存,把虚拟机的内存分配多一些即可解决问题
2016-06-06 17:42:15 2545
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人