此代码在第一次运行时完美运行。
import time as t
import pyautogui as p
import threading
def skincare1():
p.alert("skincare level 1",'skincare 1')
t.sleep(0.3)
p.alert("skincare level 2",'skincare 2')
print('start')
threadem=threading.Thread(target=skincare1)
threadem.start()
print('end')
但是当我再次运行它时,会打印出“开始”和“结束”,并在几秒后打印出来:
An error ocurred while starting the kernel
Tcl_AsyncDelete: async handler deleted by the wrong thread
如果我重新启动内核,它第一次正常工作,但第二次崩溃。 知道为什么吗?
编辑:
如果我取出睡眠部分,它仍然第一次运行良好,但在所有进一步的运行中给出相同的错误。但是如果我把一些非常简单的东西,比如'打印('中间部分')'和睡眠一样,它总是运行良好。所以这是由pyautogui引起的。
import time as t
import pyautogui as p
import threading
def skincare1():
p.alert("skincare level 1",'skincare 1')
print('start')
threadem=threading.Thread(target=skincare1)
threadem.start()
print('end')
答案 0 :(得分:0)
这可能是因为编译器本身决定首先运行哪个线程,并且可能有可能当你让线程进入休眠状态时,由于开始和结束一起显示,然后编译器,它可能无法恢复活动状态。找不到并发出线程自动发送错误。