数据库-多线程安全

我们需要使用fdbm 这个三方库
如果实现线程安全 我们会选择枷锁的方式
但是fdbm 这个库提供了一种多线程安全的方式,但并不是枷锁 
这里使用到一个类FMDatabaseQueue
使用方法很简单

#import "ViewController.h"
#import "FMDatabaseQueue.h"



@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    /*
     1.事务:所有的操作要么成功要么失败
     2.插入大量的数据使用事物
     
     提高性能 - 数据库来做的优化  
     
     */
    // Do any additional setup after loading the view, typically from a nib.
    
    //线程安全的类
    FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:[self createPath]];
    
    //创建表
    [queue inDatabase:^(FMDatabase *db) {
        
    }];
    
    
#if 0
    //创建表
    [queue inDatabase:^(FMDatabase *db) {
        NSString *sql = @"insert xxx";
        
        //我们对数据 库的操作放在这里面就可以
        
    }];
    
#endif
    

}


- (NSString *)createPath
{
    NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES)lastObject];
    
    return [documentPath stringByAppendingPathComponent:@"user.db"];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值