【发布时间】:2012-07-04 10:40:11
【问题描述】:
给定一个配置为为每个新客户端创建一个新服务实例的 WCF 双工服务 (NetTcpBinding)(请参阅pattern publish-subscribe),您可以获得每个服务实例的特定回调实例。由于创建了不同的实例,因此可以同时从不同的线程调用属于不同回调的方法。
- 如果多个线程尝试在同一个回调中调用同一个方法会怎样?
- 如果他们尝试调用不同的方法但针对相同的回调会发生什么?
- 我们应该管理从多个线程对这些方法的并发访问吗?在这两种情况下?
现在考虑与服务通信的客户端:为了确保客户端可以使用服务,您必须实例化一个新代理,并且为了调用服务中定义的方法,您必须调用相应的方法代理的。
- 如果多个线程尝试在同一个代理实例上调用同一个方法会怎样?
- 如果他们尝试为同一个代理实例调用不同的方法会发生什么?
- 我们应该管理从多个线程对这些方法的并发访问吗?在这两种情况下?
【问题讨论】:
-
这不是一个真正的问题。更像是一个整体的领域来学习。您应该只编写大量测试来真正探索事物。让我们面对现实吧,无论如何,没有答案会阻止你这样做。
标签: c# .net multithreading wcf thread-safety