coroutine相关内容

Asyncio协程从未等待的错误

我在这里无法解决和理解问题。我正在使用一个示例来学习Asyncio,但是我使用的代码与我的相似,但是我的给出了一条错误消息: sys:1:RuntimeWarning:从未等待协程'run_script' 请提供任何帮助,我们将不胜感激。下面是我的代码 异步定义run_script(script): print(“ Run”,script) 等待asyncio.sleep(1) ..
发布时间:2020-10-10 01:14:18 Python

使用协程更新UI异步调用

我必须使用对Room数据库的异步调用来更新UI,但是当我收到此错误时:android.view.ViewRootImpl $ CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能触摸 //收藏夹Presenter.kt GlobalScope.launch { favoriteView.showFavorites(ProductProvi ..
发布时间:2020-10-10 01:14:09 移动开发

为什么要在C / C ++中使用协程

此图片来自 setjmp和longjmp在C语言中的实际用法。 据我了解,协程是两个进程,它们看起来像是为 human 并行执行的,但实际上是为 machine 做单个进程。 >但是使用 setjmp & longjmp 我觉得很难阅读代码。如果需要写相同的一个。例如过程A& B,我将serval States 分配给将它们分为不同部分的过程, 依次执行: 进程A 切换(状态) ..
发布时间:2020-10-10 01:14:05 其他开发

sys:1:RuntimeWarning:从未等待协程

我正在尝试编写一个请求处理程序,以帮助我以异步模式发送请求。当我用Ctrl + D或exit()关闭python终端时提示它 它显示 sys:1:RuntimeWarning:从未等待协程 导入异步 导入urllib.request 导入json 类RequestHandler: def SendPostRequest(method =“ post”,url = None,J ..
发布时间:2020-10-10 01:12:54 其他开发

Python 3 asyncio-vs asyncio的收益

我正在使用Python 3 asyncio框架评估定期执行的不同模式(为简洁起见,省略了实际的睡眠/延迟),并且我有两段代码表现不同,我无法解释原因。如我所料,第一个版本使用 yield from 来调用自身,从而在大约1000次迭代中递归耗尽了堆栈。第二个版本递归调用协程,但是将实际的事件循环执行委托给 asyncio.async ,并且不会耗尽堆栈。您能否详细说明第二个版本为什么不使用该堆栈? ..
发布时间:2020-10-10 01:12:49 Python

numba的协程

我正在研究需要快速协程的东西,我相信numba可以加快我的代码的速度。 这是一个愚蠢的例子:一个将输入平方的函数, def make_square_plus_count(): i = 0 def square_plus_count(x): 非本地i i + = 1 return x ** 2 + i return square_plus_count 您 ..
发布时间:2020-10-10 01:11:46 Python

为什么在Python中需要协程?

我很早以前就听说过协同例程,但从未使用过。据我所知,协同例程类似于生成器。 为什么我们需要Python中的协同例程? 解决方案 Generator 使用yield返回值。 Python生成器函数还可以使用(yield)语句使用值。另外,生成器对象上的两个新方法 send()和 close()创建了一个框架,用于消耗对象并产生价值。定义这些对象的生成器函数称为协程。 协程使用(收 ..
发布时间:2020-10-10 01:11:38 Python

返回Kotlin协程产生的值

我试图返回从协程生成的值 有趣的nonSuspending():MyType { launch( CommonPool){ suspendedFunctionThatReturnsMyValue() } //通过某种方式从协程上下文中获取值 以某种方式返回GetMyValue } 我想出了以下解决方案(不是很安全!): fun nonSuspending( ..
发布时间:2020-10-10 01:10:36 其他开发

异步队列消费者协程

我有一个 asyncio.Protocol 子类,它从服务器接收数据。 我将此数据(每行,因为数据是文本)存储在 asyncio.Queue 中。 import asyncio q = asyncio.Queue() class StreamProtocol(asyncio.Protocol): def __init__ (self,loop): self.loop =循 ..
发布时间:2020-10-10 01:10:32 Python

如果协程引发asyncio异常,如何关闭循环并显示错误?

假设我有几个协程在一个循环中运行。如何使它们中的某些异常失败而导致整个程序因异常而失败?因为现在,除非我使用日志记录级别“ DEBUG”,否则asyncio甚至不会从协程中输出错误消息。 从asyncio导入get_event_loop,睡眠 异步定义c(sleep_time = 2,fail = False): print('c',sleep_time,失败) 如果失败: 引发E ..
发布时间:2020-10-10 01:10:30 Python

loop.create_task,asyncio.async / ensure_future和Task有什么区别?

我对某些 asyncio 函数感到困惑。我看到有 BaseEventLoop.create_task(coro) 函数来安排协同例程。 create_task 的文档说它是一个新功能,为了兼容,我们应该使用 asyncio.async(coro) ,通过再次引用文档,我看到它是 asyncio.ensure_future(coro) 会再次安排 同时,我一直在使用 Task(coro) 用于 ..
发布时间:2020-10-10 01:09:27 Python

从“具有”范围内产生收益是否安全?在Python中阻止(为什么)?

协程与资源获取的结合似乎会带来一些意想不到的(或不直观的)后果。 基本问题是,类似这样的事情是否有效: def coroutine(): ,其中open(path,'r')as fh: for fh中的行: 收益线 这样做。 (您可以测试!) 更深层的担忧是 with 应该是最终,其中您确保在块末释放资源。协程可以从 within with with ..
发布时间:2020-10-10 01:09:22 Python

协程的用例是什么?

协程的概念听起来很有趣,但我不知道是否可以在实际的生产环境中有意义吗?协程的用例是什么,可以像其他方法一样更优雅,更简单或更有效地解决? 解决方案 True协程需要您工具的支持-它们需要由编译器实现并由基础框架提供支持。 一个协程实例的真实示例是“收益回报” C#2.0中提供的关键字”,它使您可以编写一个返回多个值以进行循环的方法。 但是,“收益回报”确实有局限性-该实现使用助 ..
发布时间:2020-10-10 01:09:20 其他开发

Kotlin Coroutines暂停进行趣味性+改造抛出“未找到改造注释”错误

我试图在2.5.1-SNAPSHOT中使用翻新程序的协程支持,但我不断收到一个奇怪的异常。 我的翻新服务类具有: @GET(“天气”) 暂停乐趣getForecast(@Query(“ q”)查询:字符串,@Query( “ num_of_days”)numDays:字符串=“ 1”, @Query(“ format”)格式:字符串=“ json”,@Query(“ key”)ap ..
发布时间:2020-10-10 01:09:16 移动开发