coroutine相关内容

异常引发boost :: asio :: spawn没有被try catch捕获

在这个复杂的例子中,两个for循环由boost :: asio :: spawn()异步启动.第一个for循环每1000us打印一个奇数,第二个for循环每1000us打印一个偶数. 我希望输出结果类似于1 2 3 4 5 6,然后应该通过调用cerr将"Throw a error"(抛出错误)消息打印到stderr. 但是,异常实际上是在loop.run()中引发的,因此它不会被tr ..
发布时间:2021-04-15 20:52:18 其他开发

动态添加到Python asyncio的事件循环应执行的列表

我有一个功能download_all,它循环访问页面的硬编码列表,以按顺序下载所有页面.但是,如果我想根据页面结果动态添加到列表中,该怎么做?例如,下载第一页,进行分析,然后根据结果将其他页面添加到事件循环中. @ asyncio.coroutinedef download_all():第一页= 1last_page = 100download_list = [范围内(第一页,最后一页)的pa ..
发布时间:2021-04-12 18:54:29 Python

asyncio:从执行程序中的异步函数收集结果

一旦所有HTTP请求返回,我想启动大量HTTP请求并收集其结果.使用 asyncio 可以以非阻塞方式发送请求,但是我在收集它们的结果时遇到问题. 我知道针对该特定问题的解决方案,例如 aiohttp .但是HTTP请求只是一个示例,我的问题是如何正确使用 asyncio . 在服务器端,我有flask用"Hello World!"回答对 localhost/的每个请求,但是等待0.1 ..
发布时间:2021-04-12 18:45:18 Python

使用asyncio.wait在任务异常后重试任务

我有多个应同时运行的协程,其中一些可能会引发异常.在这种情况下,应重新运行协程.我该如何完成?我正在尝试做的最小演示: 导入异步导入时间t = time.time()异步def c1():print("finished c1 {}".format(time.time()-t))异步def c2():等待asyncio.sleep(3)print("finished c2 {}".format(t ..
发布时间:2021-04-12 18:44:48 Python

Python协程:暂停时释放上下文管理器

背景:我是一位非常有经验的Python程序员,他对新的协程/异步/等待功能一无所知.我无法编写一个异步的"hello world"来挽救我的生命. 我的问题是:我得到了任意协程函数 f .我想编写一个协程函数 g 来包装 f ,即我将 g 给用户,就好像它是 f,并且用户会称它为“明智",因为 g 将在引擎盖下使用 f .就像装饰普通的Python函数以添加功能时一样. 我要添加的功能 ..
发布时间:2021-04-12 18:37:43 Python

重复构建失败“要使用协同程序功能,必须添加`ktx`........"

我是Kotlin和Android Studio的新手,我当前的问题是... 我正在尝试使Codelabs的"android-room-with-a-view-kotlin"正常工作,并且在解决各种构建错误的同时,我认为我的build.gradle变得非常混乱!我通过添加依赖项 纠正了上次在 Word.kt 上的构建失败. kapt'androidx.room:room-ktx:2.2.1' ..
发布时间:2021-04-04 20:35:46 移动开发

在Vert.x最佳实践中处理数百条路线

请查看下面的代码.现在假设我将拥有数百个像“人"这样的实体.您如何编码这样的东西以使其干净,简洁,高效,结构合理? Tx class HttpEntryPoint : CoroutineVerticle() { private suspend fun person(r: RoutingContext) { val res = vertx.eventBus().req ..
发布时间:2021-02-15 19:44:22 其他开发

将回调地狱转换为延迟对象

背景 :因此,我有一个很大的项目,具有很多API函数.我正在考虑完全使用协程,但是由于将它们实现为Callback而不是Deferred,因此我无法高效使用它们.例如:我想执行apiCallOne(),apiCallTwo()和apiCallThree()异步并调用.await(),直到最后一个请求完成,然后再更改UI. 现在,项目的结构如下: 最底端(或顶部)是ApiService. ..
发布时间:2021-02-15 19:36:29 移动开发

与“呼吸"相关联字体大小(使用协程增加和减少)

我正在尝试使“开始游戏"按钮的字体“呼吸",使用协同程序来增大和减小字体大小. 字体大小从2.0开始,在onStart时,字体大小增加到2.20(逐渐增加+0.01,直到达到2.20),然后又回落到2.0(逐渐减小-0.01,直到达到2.0),然后重复. 我的代码在第一部分工作得很完美,它一直增加到2.20,但是由于某种原因,它没有从2.20降到2.0.有人知道我在做什么错吗? pu ..
发布时间:2020-11-09 20:29:10 其他开发

一次击中多个API,龙卷风和python

我正在尝试创建一个API,该API将从其他多个API收集响应并将结果合并为一个响应。我想异步发送get请求,以便它更快地运行,但是即使我使用协程和yield,我的代码似乎仍然一次发出每个请求。想知道这也许是因为我使用请求库而不是龙卷风的AsyncHTTPClient,还是因为我在循环内调用self.path_get,还是因为将结果存储在实例变量中? API正在击中JSON对象的返回数组,我想 ..
发布时间:2020-10-10 01:18:49 Python

Unity协程没有运行到最后

我在使用协程时遇到了一个奇怪的问题。 基本上,当我将鼠标悬停在精灵上时,只要鼠标指针停留在精灵上,它就会淡入淡出,效果很好,但是当鼠标退出精灵时,我希望精灵淡出直到其alpha值达到0。 这样做是因为与OnMouseOver函数不同当鼠标悬停在对撞机上时,每一帧都被调用,我在OnMouseExit函数中使用了一个协程。 下面的代码是我使用的代码,但是鼠标退出精灵,精灵的Alpha ..
发布时间:2020-10-10 01:17:42 C#/.NET

在Python函数上使用协程必须要做什么?

我正在发现Python协程,这很有意义。我了解它们是具有多个入口和出口点的更“通用”功能,并且可以将值返回给不同的接收器。但是,谁能在何时,为何要比常规功能上更喜欢协程呢? 解决方案 为您的用例创建比常规函数更容易创建的应用。这实际上可能意味着许多不同的事情,所以这里是一个示例: 您有一个可以读取和发送数据的服务器,但是您正在实现的协议中州。现在,您有2个选择: 使状态显式并将 ..
发布时间:2020-10-10 01:17:38 Python

使用asyncio websocket协程在HTML弹出叠加回调期间python守护程序服务器崩溃

当我的python守护程序进程的asyncio run_forever循环侦听来自单独的run_until_complete asyncio协程(或线程)但在同一进程(PID)中运行的websocket调用时,我的python守护进程停止工作。更具体地说,我用Python 3.4.3编写了一个本地服务器,该服务器通过webbrowser函数更新了我的firefox webbrowser中的HTML ..
发布时间:2020-10-10 01:17:37 Python

为什么基于生成器的协程消耗,异步生成器异步数据生产者和协程异步数据消耗者?

来自 Jim Fasarakis Hilliard的评论: 生成器: def 函数其中包含一个或多个 yield 表达式。 生成器用作数据生成器(它们产量值)。 我能理解。 基于生成器的协程:由def + yield ) /docs.python.org/3/library/types.html#types.coroutine“ rel =” nofollow norefe ..
发布时间:2020-10-10 01:16:32 Python

为什么我得到一个线程而不是参数?

我正在使用C / C ++游戏中的lua 5.3,以便对其行为的某些部分进行脚本编写。 在C ++程序中,我调用的每一帧lua函数 main 的方式如下: lua_getfield(VMState,LUA_GLOBALSINDEX ,“主要”); int结果= lua_pcall(VMState,0,0,0); 我希望脚本定义一个名为 main ,它可以完成很多 ..
发布时间:2020-10-10 01:15:27 其他开发

限制可以在示波器中运行的协程最大数量

我正在将当前的应用程序从Java转换为Kotlin,然后遇到了这个问题。 该Java实现用于使用线程从服务器传输数据。 这将创建大约100个不同的线程来请求数据,但是根据我的观察,一次最多运行4个线程,其他线程将等待一个线程 将其翻译为Kotlin时,我使用了协程(Coroutines) 这会造成问题,因为显然是服务器无法处理实际发送的100个请求。 所有协程都在同一 ..
发布时间:2020-10-10 01:14:25 移动开发