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