我在课堂上有以下代码:
def persistDBThread(self):
while True:
Thread(target=self.__persistDB)
time.sleep(10)
def __persistDB(self):
with open(self.authDBPath, 'w') as outfile:
json.dump(self.authDB, outfile)
该线程在 __ main__ 中启动,但是一旦我启动该线程,它实际上就在主执行中阻塞。
为什么是这样?我知道 GIL - 这一切都在同一个过程中。任务切换发生在微线程的同一个进程中,为什么不切换回来呢?
谢谢!
对不起,甚至问:
def persistDBThread(self):
Thread(target=self.__persistDB).start()
def __persistDB(self):
while True:
time.sleep(10)
outfile = open(self.authDBPath, 'w')
json.dump(self.authDB, outfile)