Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Python для экспертов
  • » Подскажите, как разделять одновременно возвращаемые данные, пришедшие из двух разных потоков? [RSS Feed]

#1 Фев. 20, 2019 09:46:04

Andrey2991
Зарегистрирован: 2019-02-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Подскажите, как разделять одновременно возвращаемые данные, пришедшие из двух разных потоков?

Всем здравствуйте) Я новичок в 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. Заранее спасибо!)

Отредактировано Andrey2991 (Март 18, 2019 11:49:13)

Офлайн

#2 Фев. 20, 2019 14:04:59

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Подскажите, как разделять одновременно возвращаемые данные, пришедшие из двух разных потоков?

для начала код обернуть в тэги

[code python][/code]
у вас пробелы пропали и часть кода…



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

  • Начало
  • » Python для экспертов
  • » Подскажите, как разделять одновременно возвращаемые данные, пришедшие из двух разных потоков?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version