Я хочу использовать планировщик в графическом интерфейсе tkinter для секундомера.Я не уверен, что это лучшая идея, чем использование фонового потока, но я прочитал, что вы не должны останавливать потоки, тогда как я хотел постоянно запускать и останавливать функцию.
Я сделал небольшой фрагмент кодав Python 2.7 для проверки планировщика, и кажется, что он начинает дрейфовать немедленно.Я хотел, чтобы счетчик увеличивался каждую секунду, но на одну минуту я отключился на две секунды (вместо 60 секунд прошло 62 секунды).
Связана ли эта машина?Что-то не так с моим кодом?Должен ли я использовать другую библиотеку?
import sched, time
class Scheduler_Test:
def __init__(self):
self.counter = 0
self.time_increment = 1.0
self.end_time = 0.0
self.s = sched.scheduler(time.time, time.sleep)
self.start_time = time.time()
self.s.enter(self.time_increment, 1, self.do_something, (self.s,))
self.s.run() # run the event scheduler
#Simple test of printing out the computer time (sec) and count
def do_something(self, random_kwarg):
print "Time (sec):",time.time(),", count:", self.counter
self.event = self.s.enter(self.time_increment, 1, self.do_something, (random_kwarg,))
self.counter = self.counter + 1
Test = Scheduler_Test()