string 線程安全



線程安全:
class
Program { public delegate void MyDelegate(string aa); static void Main(string[] args) { MyDelegate dele = new MyDelegate(LockTest); MyDelegate dele1 = new MyDelegate(LockTest); dele.BeginInvoke("aa", null,null); dele1.BeginInvoke("aa", null, null); Console.ReadKey(); } private static void LockTest(string aa) { string thisServiceLock = string.Intern(aa+"_lockCheck"); lock (thisServiceLock) { Console.WriteLine("線程ID" + Thread.CurrentThread.ManagedThreadId.ToString()); Thread.Sleep(10000); Console.WriteLine("線程ID" + Thread.CurrentThread.ManagedThreadId.ToString()); } } }

線程不安全:

 

線程不安全:

 

 

 

 線程不安全;

 

線程安全:

線程不安全:

 

線程安全:

 

 

 線程安全:

 

 線程安全:

線程安全:

線程不安全:

線程安全:

線程不安全:

原理:https://blog.csdn.net/soonfly/article/details/70147205

https://www.jianshu.com/p/af6eb8d3d4bf

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM