Найти - Пользователи
Полная версия: Подскажите, как разделять одновременно возвращаемые данные, пришедшие из двух разных потоков?
Начало » Python для экспертов » Подскажите, как разделять одновременно возвращаемые данные, пришедшие из двух разных потоков?
1
Andrey2991
Всем здравствуйте) Я новичок в python. Есть задача - имеется два потока, которые выдают данные на разных частотах. Как разделить эти данные в те моменты времени когда они приходят одновременно?

Вот мой код исполняемого скрипта:
 import myThread
from time import ctime, sleep
from threading import Thread
def dg():
        sleep(0.5)
        dx = 111.156
        dy = 111.415
        return dx, dy
def bg():
        sleep(2)
        df = 222.678
        dl = 222.945
        dK = 222.271
        return df, dl, dK
funcs = [dg, bg]
t1 = myThread.MyThread(funcs[0],funcs[0].__name__)
t2 = myThread.MyThread(funcs[1],funcs[1].__name__)
if __name__ == '__main__':
    
    t1.start(), t2.start()
    t1.join(), t2.join()

Код для myThread:

 import threading
from time import ctime
class MyThread(threading.Thread):
    
    def __init__(self,func,name=''):
        threading.Thread.__init__(self)
        self.name = name
        self.func = func
     
    def getResult(self):
        return self.func()
        
    def run(self):
        while 1:              
            self.res = self.func()
            print(self.res)

Проблема в том, что когда результаты из функций dg, bg приходят одновременно, то переменная self.res выдает сразу два значения, которые не разделить, а мне их нужно разделять для последующей обработки. Подскажите как это можно сделать на python. Заранее спасибо!)

PEHDOM
для начала код обернуть в тэги
[code python][/code]
у вас пробелы пропали и часть кода…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB