直接贴文章好了,这些大神都讲解的很清楚;
c# 中的 mutex
https://msdn.microsoft.com/en-us/library/system.threading.mutex(v=vs.110).aspx
c# 中的 lock monitor mutex Semaphore 的比较
https://abhijit-k-adhikari.me/2012/04/17/lock-monitor-mutex-semaphore/
https://www.onlinebuff.com/article_understand-monitor-vs-mutex-vs-semaphore-vs-semaphoreslim-onlinebuff_60.html
Why is lock(this) {…} bad?
这里我们要抛开这些,因为我们讨论的是,线程的同步技术;
后面的这些,又是另外一种,线程安全的问题了,等等;
锁的同步机制中还有我们读写锁的的使用;
其中还有 violate 的关键字来进行各种操作
还有interlock.exchenage 一类提供整行类型数据的 原子性操作,等等;
这个话题还真有一点广滴呀;
而且我们的异步编程 也有多重方式;
术语:
APM 异步编程模型,Asynchronous Programming Model
EAP 基于事件的异步编程模式,Event-based Asynchronous Pattern
TAP 基于任务的异步编程模式,Task-based Asynchronous Pattern
TPL 任务并行库,Task Parallel Library
关于锁的一点建议:
Creating High-Performance Locks and Lock-free Code (for .NET)
http://www.adammil.net/blog/v111_Creating_High-Performance_Locks_and_Lock-free_Code_for_NET_.html