Szybki i precyzyjny zegar powtarzający Pythona

Muszę szybko i precyzyjnie wysyłać powtarzające się wiadomości z listy. Jedna lista musi wysyłać wiadomości co 100 ms, z oknem +/- 10 ms. Próbowałem użyć poniższego kodu, ale problem polega na tym, że timer czeka 100ms, a następnie wszystkie obliczenia muszą zostać wykonane, dzięki czemu zegar wypadnie z akceptowalnego okna.

Zwykłe zmniejszanie czasu oczekiwania jest chaotycznym i zawodnym hackiem. Istnieje pętla wokół pętli wiadomości w przypadku edycji listy w pętli.

Myśli o tym, jak uzyskać Pythona do wysyłania wiadomości konsekwentnie około 100ms? Dzięki

from threading import Timer
from threading import Lock

class RepeatingTimer(object):
    def __init__(self,interval, function, *args, **kwargs):
        super(RepeatingTimer, self).__init__()
        self.args = args
        self.kwargs = kwargs
        self.function = function
        self.interval = interval
        self.start()

    def start(self):
        self.callback()

    def stop(self):
        self.interval = False

    def callback(self):
        if self.interval:
            self.function(*self.args, **self.kwargs)
            Timer(self.interval, self.callback, ).start()

def loop(messageList):
    listLock.acquire()
    for m in messageList:
        writeFunction(m)
    listLock.release()


MESSAGE_LIST = [] #Imagine this is populated with the messages
listLock = Lock()
rt = RepeatingTimer(0.1,loop,MESSAGE_LIST)
#Do other stuff after this

Rozumiem, że funkcja writeFunction spowoduje pewne opóźnienie, ale nie więcej niż 10ms dozwolone. Zasadniczo muszę wywołać funkcję co 100 ms dla każdej wiadomości. Messagelist jest mały, zwykle mniej niż elementy.

Kolejnym wyzwaniem jest posiadanie tej pracy co 10 ms, +/- 1 ms: P

questionAnswers(3)

yourAnswerToTheQuestion