クラスに次のコードがあります。
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)