C#使用对象内容的线程锁定方式,而非使用引用的线程锁定方式(可以支持值类型作为锁定的资源,例如int等)
一、介绍
在多线程中,每个线程都有自己的资源,但是有些数据是共享的,即每个线程都可以访问修改。这可能带来的问题就是几个线程同时执行一个数据,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的发生。
c#语言自带的lock(){}语句只能用于锁定引用类型,基于引用地址的锁定,但是如果遇到需要让值类型作为锁的业务情况【例如用户Id有可能是long类型】,也有可能是字符串类型需要作为锁定的值...
原创
2020-02-07 18:07:38 ·
743 阅读 ·
0 评论