首页 > python的多线程

python的多线程

在用python编写数据库访问类的使用,有必要设计成线程安全的类吗?这样的类的应用场景在哪里?
在使用php的时候从来没有用过线程安全的数据库访问类,难道php做网站业务不需要这个场景吗


我不是写php的,我是写java和python的。但是原理应该是一致的。通常web服务器连接数据库时不会设计成多个线程共享连接。而是每个线程一个单独的连接。顶多为了减少连接消耗而采取连接池。因此,只需要连接池是线程安全的就可以了。我想一般也不会有多少人自己去写连接池吧。
所以,一般考虑并发安全的时候主要考虑的是数据库上锁的问题。

然后关于线程安全的类。首先你需要证明你的确会多线程中程复用该类的对象「或者该类静态属性及类方法」。然后如果你还不是只读的话,基本上就需要线程安全了。比如,全局共享的某些缓存数据,或者用于统计该服务器上所有用户的类等。

【热门文章】
【热门文章】