假设我有2个线程 - 线程A和线程B.我在线程A上注册一个事件并从线程B调用它。该事件将在哪个线程上执行?
当上述情况不适用时,是否有任何特殊情况?
如何在不使用任何锁的情况下使类线程安全。
提前致谢
答案 0 :(得分:4)
除非您采取一些明确的操作,否则会在引发事件的线程上调用事件处理程序。通常“引发事件”是只是调用委托的问题,这是同一线程上的同步操作。
如何在不使用任何锁的情况下使类线程安全。
我们没有几乎足够的信息来回答这个问题,理想情况下它会处于一个不同的问题。但在问这个单独的问题之前,你应该问自己“线程安全”是什么意思 - 这对不同的人来说意味着很多不同的事情。有关详细信息,请参阅Eric Lippert's blog post on the topic。
(特别是如果您正在考虑事件,请考虑一个线程订阅或取消订阅事件的可能性 - 您需要发生什么?)