setDaemon后的线程如何释放资源?
比如打开的数据库连:
setDamon后就只能等主线程结束了,打开的资源不受控制了。
文档中关于setDamon就要一点信息:
The entire Python program exits when no alive non-daemon threads are
left.
def thread_put(self):
con = sqlite3.connect('D:/job')
cur = con.cursor()
while True:
try:
urls,req,content = self.q_ans.get()
self.urls.extend(urls)
cur.execute("insert into http values(NULL,?,?)",
(req,content))
con.commit()
except Exception ,e:
print e,'other,excp========in=put'
finally:
self.q_ans.task_done()
[解决办法]
那你不要设成deamon,while True改一下条件,比如queue空了就退出,get加超时参数不要死等
[解决办法]