我正处于开发用于控制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 class和Run Class methods inside threads,这些文章无疑为我提供了起点,但是我想了解一些有关Pythonic方法的指导/意见,尤其是线程时间安排(每200毫秒,执行后不暂停200毫秒)。我并不是在专门寻找代码段,但希望能从中找到首选的结构。