在多線程(線程同步)中,我們將學習多線程中操作共享資源的技術,學習到的知識點如下所示:
執(zhí)行基本的原子操作
使用Mutex構造
使用SemaphoreSlim構造
使用AutoResetEvent構造
使用ManualResetEventSlim構造
使用CountDownEvent構造
使用Barrier構造
使用ReaderWriterLockSlim構造
使用SpinWait構造
一、執(zhí)行基本的原子操作
在這一小節(jié)中,我們將學習如何在沒有阻塞線程(blocking threads)發(fā)生的情況下,在一個對象上執(zhí)行基本的原子操作并能阻止競爭條件(race condition)的發(fā)生。操作步驟如下所示:
1、使用Visual Studio 2015創(chuàng)建一個新的控制臺應用程序。
2、雙擊打開“Program.cs”文件,編寫代碼如下所示:
1 using System; 2 using System.Threading; 3 using static System.Console; 4 5 namespace Recipe01 6 { 7 abstract class CounterBase 8 { 9 public abstract void&