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来保存日期和会话)
答案 0 :(得分:0)
问题的原因是因为current
对象不是线程安全的,不应该像这样使用。
出于这个原因,他们被放入一个名为current的容器中, 这是一个线程本地对象。 Check the docs
如果要从其他线程访问数据库,则应直接传递数据库对象。我以前做过,从来没有遇到任何从其他线程访问它的问题。