全局变量'times'在模块级别未定义,是什么情况?

from threading import Thread
from time import sleep
import time

gui_zi = 500
time_s = time.time()

class chef(Thread):
name = ''
shu_liang = 0

def run(self) -> None:
    global gui_zi, times
    while True:
        times = time.time()
        if gui_zi < 500 and times - time_s <= 60:
            gui_zi = gui_zi + 1
            self.shu_liang = self.shu_liang + 1
        elif times - time_s < 60:
            sleep(3)

        else:
            print(self.name, '做了', self.shu_liang, '个蛋挞!!!!!!!!!')
            break

p1 = chef()
p2 = chef()
p3 = chef()
p1.name = '我'
p2.name = '你'
p3.name = '他'
p1.start()
p2.start()
p3.start()

class gu_ke(Thread):
name1 = ''
money = 5000

gui_zi=0
def run(self) -> None:

    global gui_zi
    dan_ta = 0
    while True:
        times = time.time()

        if self.money >= 3 and times - time_s < 60 and self.gui_zi > 0:
            self.money = self.money - 3
            gui_zi = gui_zi - 1
            dan_ta = dan_ta + 1
        elif self.money >= 3 and times - time_s < 60 and dan_ta==0:
            sleep(2)
        else:
            print(self.name1, '买了', dan_ta, '个蛋挞')
            break

D1 = gu_ke()
D2 = gu_ke()
D3 = gu_ke()
D1.name1 = 'she'
D2.name1 = 'he'
D3.name1 = 'me'
D1.start()
D2.start()
D3.start()