IronPython等待/异步机制

时间:2018-09-28 15:28:39

标签: c# asynchronous ironpython

我正在使用大量异步编程的C#库编写Python包装器(因为它应该是一个通信库)。我似乎找不到实现与C#的等待/机制等效功能的Python代码(选中hereherehere)。我 KNOW await / async没有直接的Python等效项,因为它们是一种语言构造,但是我希望能够显式调用某些可以完成相同工作的方法。到目前为止,我的解决方案是:

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

ReadDataAsync的C#实现如下:

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

使用GetAwaiter().GetResult()对我有用,但是由于我是C#的新手,所以我不知道它在等待时是否会释放正在运行的线程。

非常感谢任何指针!

0 个答案:

没有答案