coroutine相关内容

使用Hilt注入CoroutineWorker

我正在尝试使用匕首刀柄注入协程工人,我已经按照文档中的所有说明进行操作 https://developer.android.com/training/dependency-injection/hilt-jetpack 旨在供“工人"使用不是“协程工人".. 但是它给出了一个错误: java.lang.NoSuchMethodError:没有接口方法getBackgroundExe ..
发布时间:2021-05-28 19:42:13 移动开发

协同程序中的方法在Kotlin中如何工作?

协程有两种类型.堆叠式和无堆叠式.Kotlin协程是无堆栈协程. 另一方面,一旦方法被调用,它将被堆积在内存中.我们可以使用method进行递归调用. 在Kotlin中,我要做的就是为在协程环境中调用的方法添加 suspend 关键字. 它没有堆栈,那么它如何工作? 我想的是,由于协程对象属于某个线程,因此线程拥有它们.可以说,是的.那它如何在引擎盖下工作? 解决方案 ..

正确使用多个协程的方法

我只是觉得有一个更好的方法.我有一个需要调整大小然后压缩的纹理.这两个函数都需要一点处理时间,因此我需要将每个函数放在协程中.我得到的方式是先调整大小然后进行压缩,但是事情似乎很快就变得混乱了.推荐的构造多个顺序协程以依次触发并将处理后的变量(在这种情况下为Texture2D)从一个传递到另一个的方法是什么? [客户端]公共无效的PrepareServerData(Texture2D texT ..
发布时间:2021-04-24 20:34:44 C#/.NET

协程中的Python循环

我已经阅读了有关该主题的所有文档,但似乎我无法很好地理解Python协程的整个概念以实现我想做的事情. 我有一个后台任务(它会生成一些随机文件,但这没什么大不了的),并且它是在无限循环中完成的(这是一个观察者). 我想以最有效的方式实现此后台任务,我认为微线程(又名协程)是实现这一目标的好方法,但我根本无法使其正常工作(要么后台任务运行,或者运行程序的其余部分,但不能同时运行!). ..
发布时间:2021-04-24 20:34:37 Python

像RxJava这样的Android EditText Coroutine防反跳运算符

我需要使EditText具有自动建议功能,并且需要听其输入.以编程方式设置EditText时,我还需要忽略它. 想知道是否有解决方案可以在不使用延迟的情况下使用协同程序来对EditText进行去抖动. 解决方案 将文本更改事件转换为 Flow @ExperimentalCoroutinesApi@CheckResult有趣的EditText.textChanges():Flow ..
发布时间:2021-04-24 20:34:34 移动开发

协程内部的通用泛型参数不起作用

我正在创建http json客户端.我将Volley与协程结合使用.我想创建通用的http客户端,以便可以在任何地方使用它. 我创建了通用扩展方法来将JSON字符串解析为对象. inline fun String.jsonToObject(exclusionStrategy:ExclusionStrategy?= null):T {val builder = Gs ..
发布时间:2021-04-24 20:34:31 Java开发

asyncio/aiohttp-create_task()阻止事件循环,在“此事件循环已在运行"中收集结果.

我不能同时使我的使用者和生产者同时运行,似乎worker()或aiohttp服务器正在阻塞-即使与asyncio.gather()同时执行 相反,如果我执行loop.create_task(worker),它将阻塞并且服务器将永远不会启动. 我已经尝试了我可以想象的所有变化,包括nest_asyncio模块-我只能运行两个组件之一. 我在做什么错了? async def wo ..
发布时间:2021-04-24 20:34:28 Python

在协程close()上运行代码

我正在编写大量使用协程的代码,并且我希望关闭时具有可靠的行为. 说我有一个协程和一个上下文管理器: 从contextlib导入 导入contextmanager@contextmanagerdef print_context_manager(文本):打印(“输入",文本)屈服打印(“退出",文字)def coro():使用print_context_manager("coro"):而Tr ..
发布时间:2021-04-24 20:34:25 Python

如何检测Tcl协程的完成?

我想在Tcl中找到一种检测协程结束的好方法.考虑: 协程cor适用{{} {产量1产量2产量3}}尝试 {放[cor]放[cor]放[cor]放[cor]}陷阱{TCL LOOKUP COMMAND cor} {e} {把“完成"} 这有效,但感觉像是黑客,而且很脆.如果我重命名 cor 并忘记在陷阱中重命名它,它将失败.如果我在陷阱中遗漏了 cor ,它将捕获不相关的错别字. 必须有 ..
发布时间:2021-04-24 20:34:22 其他开发

python 3 asyncio:使用run_until_complete(asyncio.wait(corutines_list))协程执行顺序

我有一个可能毫无用处的问题,但是我仍然觉得我缺少一些对于理解asyncio的工作方式可能很重要的东西. 我刚刚开始熟悉asyncio,我写了这段非常基本的代码: 导入异步导入日期时间来自随机进口randint异步定义协程(i):开始= datetime.datetime.now()print('协程{}开始.'.format(i))n = randint(1,11)等待asyncio.sl ..
发布时间:2021-04-24 20:34:19 其他开发

如果goroutine涉及用户空间线程,阻塞操作是否可以导致整个线程的上下文切换?

很抱歉,这个问题太愚蠢了.我正在阅读goroutines的详细信息此处.根据该页面的内容,它说 Goroutines被多路复用到少量的OS线程上,而不是1:1映射中,据我所知,我所能想到的是,产生的OS线程数,其中可能使用了用户空间线程或协程.这样对吗?如果是这样,那么我举一个例子,如果一个程序克隆了4个OS线程,其中有多个用户空间线程,并且所有这4个线程中恰好有一个阻塞操作以及非阻塞操作,那么O ..
发布时间:2021-04-24 20:34:16 其他开发

协程的用例是什么?

协程的概念听起来很有趣,但我不知道是否在实际的生产环境中有意义吗?协程的用例是什么?协程的实现比其他方法更优雅,更简单或更有效? 解决方案 真正的协程需要语言支持.它们需要由编译器实现并得到基础框架的支持. 协程的一种受语言支持的实现是C#2.0 关键字,它使您可以编写一种返回多个值以进行循环的方法. 收益率回报确实有局限性.该实现使用助手类来捕获状态,并且仅支持协程的特定情况 ..
发布时间:2021-04-24 20:34:09 其他开发

如何使用莳萝库与货架库进行对象序列化

我正在使用 PyMemoize 库来缓存协程.我装饰了协程,但是当Python调用它时,我得到了: TypeError:无法腌制协程对象 之所以会这样,是因为 PyMemoize 在内部尝试腌制协程并将其存储在Redis中.为此,它使用了 shelve.Shelf ,而后者又使用了 pickle .问题在于,出于未知原因, pickle 不支持酸洗协程. 我试着用 dill 腌制协程 ..
发布时间:2021-04-24 20:34:04 Python

等待协程完成

我有一个协程,在 N 秒后清除文本并将其恢复为原始形状.问题是协程在首次返回(等待几秒钟)之后再也不会继续. 我在其他地方遇到了这个问题,并想出了发生的原因,因为我在协程完成之前就销毁了Gameobject,所以我让它返回了bool,但是现在我很困惑,在这里不能使用相同的技巧,因为我是通过脚本启动协程的,未初始化.该脚本仅具有静态功能,通过它我可以启动协程.这是我的代码: void On ..
发布时间:2021-04-24 20:33:58 C#/.NET

可以复制C ++ 20协程吗?

我一直在研究C ++ 20协程,并试图将我的一些代码库移到使用它们.不过,我遇到了一个问题,因为似乎无法复制新的协程. generator 对象已删除了复制构造函数和复制分配运算符,而我所研究的似乎没有办法. 可以做到吗? 作为参考,我编写了一个小测试程序,尝试复制C ++ 20协程失败,并且成功尝试使用 boost :: asio :: coroutine 做同样的事情.这使用的是V ..
发布时间:2021-04-19 20:05:04 C/C++开发