我的代码中有一些地方使用WorkflowInvoker.Invoke方法调用活动。我遇到了很多性能问题,因为每次我需要调用它时都会创建一个活动。
根据this MSDN Blog post,我应该缓存活动并运行相同的活动实例,而不是创建一个新实例。
但是,我的应用程序是多线程的。许多线程使用相同的Activity实例是否安全?根据{{3}},它表示它不是线程安全的,但它看起来像几乎所有类的标准消息。
我怀疑它应该是线程安全的,因为活动使用的数据存储在单独的上下文中(作为变量和参数)而不是活动类的普通实例成员。
答案 0 :(得分:2)
我发现共享同一个Activity实例的线程没有问题。这是有道理的,因为数据通过上下文(而不是Activity对象的属性)传递给活动。活动缓存显着提高了性能。