- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 Cococa初学者使用锁的坑(Exec_bad_Instruction)
在开发过程中,为了访问互斥资源或者更细粒度的串行控制, 一般都会使用锁机制。使用最多的应该是 @synchronized, Semaphore, ConditionLock @synchronized使用起来比较方便, 但是如果访问互斥资源的频率较高,这样做的话效率就比较低了 semaphore我相对使用较多, 但是过程中也遇到不少的坑, 最近就在使用不当上遭遇了crash
2016-12-01 16:56:09 1189
原创 NSOutlineView定制disclosure triangle
在NSOutlienView中,如果要定制那个expand和collapse的三角(disclosure triangle, 可以重写NSView的didAddSubview方法,子类NSTableRowView,覆盖方法didAddSubview, 下面贴代码 -(void)didAddSubview:(NSView *)subview { // As noted in the
2016-11-11 11:48:01 539
原创 macintosh文件系统操作集锦
不定期更新内容...... 1、 获取文件系统的mata信息 NSString * fileName = @(filePath); MDItemRef item = MDItemCreate( kCFAllocatorDefault, (CFStringRef)fileName ); CFArrayRef list = MDItemCopyAttr
2016-11-08 10:40:41 380
原创 IOS开发中的死锁问题
最近开发中遇到的死锁问题比较多, 近段时间总结了下还是基础不够扎实: 在继续的开发过程中, 会不定期更新开发中遇到的并发死锁问题 2016-11-7 今天遇到个数据库中使用互斥锁导致的问题: 一般数据库查询结构如下: @Semaphore_Wait(MUTEX) [self yourOwnHandle:^(FMDatabase *db, BOOL *rollback)
2016-11-07 16:49:29 489
原创 cocoa并发访问Sqlite中的死锁问题
在实际开发过程中, 如果涉及到数据库的频繁写入, 更新等操作, 在加上连续事件的有序操作, 死锁的问题就可能发生: 废话不多说了: 开发中使用最多sqlite三方库是FMDB, 最新版本的FMDB为了支持并发, 加入了FMDatabaseQueue, 其原理就是对一个databse的访问, 通过内部的一个serialQueue来控制对数据库的串行访问, 这就意味着所有的入口必须是统一的,全局仅
2016-11-04 14:50:20 783
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人