Вот мой код исполняемого скрипта:
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. Заранее спасибо!)