类中的Python线程和线程计时

时间:2018-08-02 12:09:49

标签: python multithreading class

我正处于开发用于控制OLED屏幕的代码的早期阶段。我目前拥有的伪代码如下。

import time, threading

class Screen:
    # Specify display-specific parameters e.g. fonts etc.

    def __init__(self):
        # start screen comms, clear screen, etc


def updateScreen():
    while threadRun:
        if time.time() - lastTime > 0.2
            # update the screen with variables from main code
            lastTime = time.time()


if __name__ == '__main__':
    display = Screen()
    thread = threading.Thread(target = updateScreen)
    threadRun = True
    lastTime = time.time() - 0.3
    thread.start()
    while True:
        # Calculate and update variables that get shown on the screen
    threadRun = False

此代码有效,但是我正在寻找一种更清洁的方式来实现此目的,并且我认为其思想是将updateScreen例程以及可能的线程合并到Screen类中,以便主程序中的代码尽可能简单。最终,屏幕可以相对于主线程进行任意快或慢的更新(它不需要等待任何东西),但是我只希望它每200ms左右运行一次。

我已经阅读了文章python threading inside a classRun Class methods inside threads,这些文章无疑为我提供了起点,但是我想了解一些有关Pythonic方法的指导/意见,尤其是线程时间安排(每200毫秒,执行后不暂停200毫秒)。我并不是在专门寻找代码段,但希望能从中找到首选的结构。

0 个答案:

没有答案