web2py如何在新线程中使用db.current?

时间:2013-03-15 03:35:14

标签: web2py

    from gluon import current
import multiprocessing
def ip():
p = multiprocessing.Process(target=t,args=("hello",current.db))
p.start()
p.join()
print "start"
def t(arg1,arg2):
print "sub start %s"%arg1
print arg2.account.count()

它报告错误thread .__ local

如何在新线程中使用当前? (我想用db来保存日期和会话)

1 个答案:

答案 0 :(得分:0)

问题的原因是因为current对象不是线程安全的,不应该像这样使用。

  

出于这个原因,他们被放入一个名为current的容器中,   这是一个线程本地对象。 Check the docs

如果要从其他线程访问数据库,则应直接传递数据库对象。我以前做过,从来没有遇到任何从其他线程访问它的问题。

相关问题