Mutexes可以作为参数传递给函数,锁不能。互斥锁也是MarshalByRefObject
,因此可以在AppDomains之间传递。
有时您希望锁定程序中的AppDomain,因为您可以使用未命名的互斥锁。
lock
建立在低级互斥锁之上,并且应用了一些逻辑,而Mutex
只是这些低级互斥锁的直接托管包装器。不要将其视为两种情况,而是将其视为TcpClient
与WebClient
的关系,您可以使用TcpClient
来完成所有事情{{ 1}}但是更容易使用更高层的抽象来完成你的工作。