IronPython ожидает / асинхронный механизм - PullRequest
0 голосов
/ 28 сентября 2018

Я пишу оболочку Python над библиотекой C #, которая использует много асинхронного программирования (как и библиотека связей).Я не могу найти какой-то код Python, который реализует эквивалентную функциональность для механизма ожидания C # (проверено здесь , здесь и здесь ).I KNOW await / async не имеют прямых эквивалентов Python, поскольку они являются языковой конструкцией, но я надеялся, что смогу явно вызвать какой-то метод, который будет выполнять ту же работу.Мое решение до сих пор:

data = ch.ReadDataAsync(4000, CancellationToken.None).GetAwaiter().GetResult()

Реализация C # 1014 * выглядит так:

public async Task<byte[]> ReadDataAsync(int timeout, CancellationToken cancellationToken)

Использование GetAwaiter().GetResult() работает для меня, но из-за того, что я полностью новичок в C #, я не знаю, выпустит ли он запущенный поток, пока он ждет.

Любые указатели очень ценятся!

...