.前言
为什么要特别指出sqlite的多线程呢?因为创建一个sqlite连接只能给创建这个连接的线程使用,按照连接池的一般做法,先初始化几条连接conn放到池里,显然不行(别的线程用不了)。如果换一种策略,在第一次使用连接时,才由线程创建连接,然后映射到线程推到池里,在连接使用前先验证连接是否可用--这是一种不错的实现。
下面,是简单实现,不涉及池~~,有时间在实现。
- 首先,定义一个类,操作某数据库test表的增.删.查,命名为testDao,哦,no!这名命名太狗血了吧。
import threading import os,sqlite3 class Dao(object): ''' 数据持久化处理类 ''' def __init__(self,path,name='',*args,**kwargs): ''' 初始化工作... ''' self.lock = threading.RLock() #锁 self.name =