首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >`SendChannel.offer`、`CompletableDeferred.complete`和类似的东西可以称为外部协同线吗?

`SendChannel.offer`、`CompletableDeferred.complete`和类似的东西可以称为外部协同线吗?
EN

Stack Overflow用户
提问于 2017-12-05 12:56:47
回答 1查看 165关注 0票数 1

CompletableDeferred文档显示

该接口上的所有函数以及由此派生的所有接口上的所有函数都是线程安全的,并且可以在没有外部同步的情况下从并发协同中安全地调用。

在任何协同线之外调用这些函数安全吗?

对于SendChannel<E>来说,offerclose不是suspend,因此它们可以在语法上被称为协同线,但这样做是否安全?

如果需要一个协同线,那么最便宜的启动方法是什么:launch(Unconfined)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-06 20:53:44

从任何地方调用offerclose都是安全的。这就是文档用“是线程安全”短语来表示的意思。

这些方法被包含到通道API中的原因之一是为了支持协同与基于各种回调和事件处理程序的常规非协同世界的集成。您可以在这个协同用户界面编程指南中看到这种集成的实际示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47654180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档