У меня есть приложение tkinter, которое контролирует, а также импортирует значения из последовательного соединения. Мне нужны два цикла, которые выполняются независимо: один для последовательного соединения и один для основного приложения tkinter. в python, но приложение tkinter работало очень медленно. мой код выглядел примерно так.
import tkinter as tk
from threading import Thread
class Tkinter_Window(Thread):
def __init__(self):
Thread.__init__(self)
self.daemon = True
self.start()
def run(self):
self.tkinter_window = tk.Tk()
self.tkinter_window.mainloop()
class Serial_Connection(Thread):
def __init__(self):
Thread.__init__(self)
self.daemon = True
self.start()
def run(self):
#serial connection should go here#
pass
class Some_Other_Process(Thread):
def __init__(self):
Thread.__init__(self)
self.daemon = True
self.start()
def run(self):
#any other needed processes#
pass
if __name__ == "__main__":
Tkinter_Window()
Serial_Connection()
Some_Other_Process()
while True:
pass
однако приложение tkinter было слишком медленным. после поиска причины я прочитал, что многопроцессорность может работать лучше в моем случае. Я ценю любые мнения о том, как запускать параллельные процессы, имея при этом возможность оптимизировать их вычислительную мощность.
Я также пробовал многопроцессорность https://docs.python.org/2/library/multiprocessing.html, но я не мог понять, как это сделать запустите l oop основного приложения tkinter.