Я закодирован что-то с asyncio цикла:asyncio петля + GObject.MainLoop
loop = asyncio.get_event_loop()
# bla coroutines
loop.run_forever()
и сейчас, кто-то дает мне часть кода, используя GObject.MainLoop()
l = GObject.MainLoop()
# functions using gi.repository I cannot modify, bla
l.run()
Я должен интегрировать этот код в то же программное обеспечение, что и мой (с асинчио). И тезисы кода должны запускаться одновременно. Части кода должны обмениваться объектами.
Я не уверен, какое решение будет присвоено или, по крайней мере, не слишком уродливое?
ps: этот код должен работать на ОС Windows и python3.4, поэтому я не могу использовать glub. Я предположил, что могу использовать потоки, но я хотел бы знать, есть ли другой способ?
Использование линии резьбы под http://stackoverflow.com/questions/31623194/asyncio-two-loops-for-different-io-tasks: резьба = [] т = threading.Thread (целевая = one_of_function) нитей .append (t) t.start() кажется работающим (я еще не пытался обменивать элементы), но все же чисто? –
Вы можете комбинировать цикл gobject с циклом asyncio. См. Мой ответ для [введите описание ссылки здесь] (https://stackoverflow.com/questions/39804102/python-3-4-gtk-async) –