问题一: "is currently in use" 出现的场景是这样的,多线程操作数据库,每个线程都使用了FMDatabase实例(注意没有使用FMDatabaseQueue)。问题二:“database is locked"出现的场景是这样的,多线程操作数据库,每个线程各自创建了FMDataba...
分类:
数据库 时间:
2014-11-06 09:19:38
阅读次数:
211
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。
在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。
ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方法加synchronized,那样就变成了HashTable。
从Conc...
分类:
其他好文 时间:
2014-11-05 23:05:51
阅读次数:
266
先吹个吧。cpu没有算盘好,算盘不但可以计算,同时也存储了最后结果,同样可以加减乘除,当然还可以小数(浮点)运算,它有可表示的数的极限(最大值和最小值),它也可以多进程(同样的计算方式,不同的数据内容),甚至多线程(同一数据内容,不同的计算方式)。它和程序一样,可逆性很差。----扯远了,权做玩笑看...
分类:
其他好文 时间:
2014-11-02 13:51:26
阅读次数:
198
奉上地址一枚:GitHub?并自带demo~ 项目需求:从网络获取Json后,将Json自动转存到CoreData中。 本次任务:对CoreData封装,完成基本的增删改查,多线程操作。 我们总是在跌跌撞撞中,不断成长。 CoreDataActi...
分类:
移动开发 时间:
2014-10-18 00:49:45
阅读次数:
307
上一篇博客《sqlite:多线程操作数据库“database is locked”解决方法》通过注册延时函数的方法来处理数据库被锁的问题。此方法固然能解决问题,但是在多个线程向数据库写入大量数据的情况下,延时会拖慢进度。想出方法二:1. 创建一个链表,链接如下格式的结构体,线程1,线程2,线程3.....
分类:
数据库 时间:
2014-10-16 21:10:23
阅读次数:
208
1. 使sqlite支持多线程(不确定是否非加不可,暂且加上,以备后患)可以在编译时/启动时/运行时选择线程模式,参考:http://www.cnblogs.com/liaj/p/4015219.html我的修改:1)添加编译选项:-DSQLITE_THREADSAFE=22)打开数据库文件使用sq...
分类:
数据库 时间:
2014-10-14 21:26:09
阅读次数:
202
搞多线程的经常会遇到死锁的问题,学习操作系统的时候会讲到死锁相关的东西,我们用python直观的演示一下。
死锁的一个原因是互斥锁。假设银行系统中,用户a试图转账100块给用户b,与此同时用户b试图转账200块给用户a,则可能产生死锁。
2个线程互相等待对方的锁,互相占用着资源不释放。
#coding=utf-8
import time
import threading
class Acco...
分类:
编程语言 时间:
2014-10-07 20:38:43
阅读次数:
172
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: pa...
分类:
编程语言 时间:
2014-09-30 15:36:29
阅读次数:
236
参考http://blog.csdn.net/sdsxleon/article/details/18259973 很好https://github.com/2point0/Android-Database-Locking-Collisions-Example 示例http://www.eoeandr...
分类:
移动开发 时间:
2014-09-17 15:04:02
阅读次数:
252
最近在写cve-2014-0321这个漏洞的poc,分析的时候发现这流程简直就是个坑(越写越坑!!),没办法只能照着古河的思路,利用多线程进行操作。虽然知道多线程操作用window.open去创建,但调用了之后发现一直创建的都是个进程,根本就没有线程啊,简直就是个坑啊。后来无数次的尝试之后才发现,之...
分类:
编程语言 时间:
2014-09-12 23:29:24
阅读次数:
537