博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用同步技术
阅读量:4554 次
发布时间:2019-06-08

本文共 877 字,大约阅读时间需要 2 分钟。

 

1、利用属性标签方式进行方法同步和上下文同步:MethodImplAttribute 类 和 SynchronizationAttribute 类
2、同步代码区:Monitor 类、Lock 关键字、ReaderWriterLock 类。
3、手控同步:AutoResetEvent 类、ManualResetEvent 类、Mutex 类、Interlocked 类
 
需要注意的是:
[MethodImplAttribute(MethodImplOptions.Synchronized)]标签应用到实例方法,相当于对当前实例加锁 lock(this)
[MethodImplAttribute(MethodImplOptions.Synchronized)]标签应用到静态方法,相当于当前类型加锁。如 WithDraw 是静态方法,就相当于 lock (typeof(Account))
接下来我们再来看看SynchronizationAttribute类:
MSDN对SynchronizationAttribute的解释为:为当前上下文和所有共享同一实例的上下文强制一个同步域。
SynchronizationAttribute 的类:一个在 System.Runtime.Remoting.Contexts 命名空间中,另一个在 System.EnterpriseServices 命名空间中。System.EnterpriseServices.SynchronizationAttribute 类仅支持同步调用,并且只可与接受服务的组件一起使用。System.Runtime.Remoting.Contexts.SynchronizationAttribute 同时支持同步调用和异步调用,并且只可与上下文绑定对象一起使用。 
posted on
2018-08-11 13:32 阅读(
...) 评论(
...)  

转载于:https://www.cnblogs.com/chinanetwind/articles/9459499.html

你可能感兴趣的文章
MySQL的基本使用命令
查看>>
output 参数在存储过程中的用法
查看>>
大数加法和乘法(高精度)
查看>>
利用SynchronizationContext.Current在线程间同步上下文
查看>>
python各种类型转换-int,str,char,float,ord,hex,oct等
查看>>
sublime Text3 快捷键
查看>>
19 年书单
查看>>
不变模式
查看>>
matlab去云雾
查看>>
500lines项目简介
查看>>
Asp.net core logging 日志
查看>>
BOM浏览器对象模型
查看>>
Jq 遍历each()方法
查看>>
Android源码分析:Telephony部分–phone进程
查看>>
关于 redis.properties配置文件及rule
查看>>
WebService
查看>>
关于Java中重载的若干问题
查看>>
Java中start和run方法的区别
查看>>
23种设计模式中的命令模式
查看>>
[转载]年薪10w和年薪100w的人,差在哪里?
查看>>