码迷,mamicode.com
首页 > Web开发 > 详细

.NET Framework的CLR提供了三种方法来完成对共享资源

时间:2016-12-16 18:58:56      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:http   hand   read   attribute   ext   对象   进程   htm   上下文   

.NET Framework的CLR提供了三种方法来完成对共享资源 ,诸如全局变量域,特定的代码段,静态的和实例化的方法和域。

(1) 代码域同步:使用MonITor类可以同步静态/实例化的方法的全部代码或者部分代码段。不支持静态域的同步。在实例化的方法中,this指针用于同步;而在静态的方法中,类用于同步,这在后面会讲到。

(2) 手工同步:使用不同的同步类(诸如WaitHandle, Mutex, ReaderWrITerLock, ManualResetEvent, AutoResetEvent 和Interlocked等)创建自己的同步机制。这种同步方式要求你自己手动的为不同的域和方法同步,这种同步方式也可以用于进程间的同步和对共享资源的等待而造成的死锁解除。

(3) 上下文同步:使用SynchronizationAttribute为ContextBoundObject对象创建简单的,自动的同步。这种同步方式仅用于实例化的方法和域的同步。所有在同一个上下文域的对象共享同一个锁。

欢迎转载,但请保留出处,本文章转自[华软网] 原文链接:http://www.huarw.com/program/net/c/200609/38094.html

.NET Framework的CLR提供了三种方法来完成对共享资源

标签:http   hand   read   attribute   ext   对象   进程   htm   上下文   

原文地址:http://www.cnblogs.com/mengkai/p/6187867.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!