multithreading - 在 Azure Service Fabric actor 内启动线程?

标签 multithreading azure azure-service-fabric actor

我知道 Service Fabric 内的 Actor 是单线程的。但是假设我在 actor 方法内启动一个新线程,那么会发生什么?即使生成的线程仍在执行,actor 也会被停用吗?

根据documentation ,当一个 Actor 一段时间没有被“使用”时,它就会被停用。在这种情况下,“已使用”意味着:

  • 接听电话
  • IRemindable.ReceiveReminderAsync 被调用

看来我启动的新线程没有被考虑在内。但也许有人可以证实这一点?

最佳答案

Actor 只是对象。

Actor 将是 deactivated并且它可用于垃圾收集。

操作系统中的实际线程(运行时)保留 running直到它们完成或终止。可以收集它们的托管表示,但这不会影响实际的线程。

此外,不会以任何方式跟踪 Actor 内部生成的线程,因此您有责任自己管理它们的生命周期。

关于multithreading - 在 Azure Service Fabric actor 内启动线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49198980/

相关文章:

c# - FileStream 的同步要求。(开始/结束)(读/写)

azure - 将非 DataContract 类发送到 Azure Service Fabric Actor

java-gearman-client - 产生越来越多的线程

java - 多线程 Java 应用程序中的 ConcurrentModificationException

java - 无法正确实现 sleep()

AzurePowershell 任务找不到 Profile.ps1

azure - 使用 Azure 通知中心进行徽章管理

c# - 我应该使用什么 SSL URL 来进行 Azure 门户身份验证

linux - 将 .Net Core 应用程序部署到 Linux Service Fabric 集群

web-services - 如何为现有本地群集配置和启用 Azure Service Fabric 反向代理?