.net 4.0 工作流基础4:活动缓存线程安全?

.net 4.0 工作流基础4:活动缓存线程安全?,.net-4.0,workflow-foundation-4,.net 4.0,Workflow Foundation 4,在代码中的某些地方,我使用WorkflowInvoker.invoke方法调用活动。我有很多性能问题,因为我每次需要调用时都会创建一个活动 因此,我应该缓存活动并运行相同的活动实例,而不是创建一个新实例 但是,我的应用程序是多线程的。多个线程使用同一个活动实例是否安全?根据,它说它不是线程安全的,但它看起来像是几乎所有类的标准消息 我怀疑它应该是线程安全的,因为活动使用的数据存储在单独的上下文中(作为变量和参数),而不是活动类的普通实例成员。我发现线程共享同一活动实例没有问题。这是有意义的,因为

在代码中的某些地方,我使用WorkflowInvoker.invoke方法调用活动。我有很多性能问题,因为我每次需要调用时都会创建一个活动

因此,我应该缓存活动并运行相同的活动实例,而不是创建一个新实例

但是,我的应用程序是多线程的。多个线程使用同一个活动实例是否安全?根据,它说它不是线程安全的,但它看起来像是几乎所有类的标准消息


我怀疑它应该是线程安全的,因为活动使用的数据存储在单独的上下文中(作为变量和参数),而不是活动类的普通实例成员。

我发现线程共享同一活动实例没有问题。这是有意义的,因为数据是通过上下文(而不是活动对象的属性)传递到活动中的。活动缓存显著提高了性能