线程同步: 为什么需要同步 ① 线程同步是为了防止多个线程访问一个数据对象时,对数据造成破坏。 ② 线程的同步是保证多线程安全访问竞争资源的一种手段。 同步和锁 ① Java中每一个对象都有一个内置锁。 ② 当程序运行到非静态的synchronized同步方法上时,自动获得与正在执行代码类的当前实例 ...
分类:
编程语言 时间:
2016-05-07 23:38:09
阅读次数:
307
HandlerThread最大的优势在于引入MessageQueue概念,可以进行多任务队列管理。 HandlerThread背后只有一个线程,所以任务是串行依次执行的。串行相对于并行来说更安全,各任务之间不会存在多线程安全问题。 HandlerThread所产生的线程会一直存活,Looper会在该 ...
分类:
其他好文 时间:
2016-05-03 17:59:42
阅读次数:
182
之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家。
@property 后面可以有哪些修饰符?线程安全的:
(atomic,nonatomic )nonatomic 非原子操作,决定编译器生成的setter getter是否是原子操作,atomic表示多线程安全,一般使用nonatomic.
访问权限的
(readonly,readwrite)...
分类:
移动开发 时间:
2016-04-29 15:42:28
阅读次数:
248
java.util.concurrent包详细分析 java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并 ...
分类:
编程语言 时间:
2016-04-19 11:56:39
阅读次数:
175
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。 atomic 设置成员变量的@property属性时,默认为atomic,提供多线程安全。 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下面这样: ...
分类:
其他好文 时间:
2016-04-08 11:38:01
阅读次数:
192
关于一般单例模式的创建和分析在我的另一篇博客《Java设计模式——单件模式》中有详细说明。只是在上篇博客中的单例是针对于单线程的操作,而对于多线程却并不适用,本文就从单例模式与多线程安全的角度出发,讲解单例模式在多线程中应该如何被使用。...
分类:
编程语言 时间:
2016-04-06 23:37:00
阅读次数:
506
一、FMDB简介 什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API FMDB的优点 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效 ...
分类:
移动开发 时间:
2016-04-01 21:51:14
阅读次数:
304
1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效地防止数据 ...
分类:
数据库 时间:
2016-03-24 16:17:40
阅读次数:
216
先简单介绍一下FMDB,FMDB是iOS平台的SQLite数据库框架,以OC的方式封装了SQLite的C语言API。使用起来很方便,省去了很多冗余的C语言代码,对比苹果自带的Core Data框架,更加轻量级和灵活,提供了多线程安全的数据库操作方法,有效地防止数据混乱。 github地址 https
分类:
移动开发 时间:
2016-03-17 14:47:49
阅读次数:
193