
C#
lionelmessiCODE
努力进步
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
初识readonly关键字
首先查看MSDN中提供的说明: readonly关键字是可以在字段上使用的修饰符,当字段声明包括readonly,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中;我个人觉得上面一句话就是限定了你用readonly修饰的字段的赋值操作的范围; 就以其给出的样例分析:代码如下: class Age { private readonl转载 2017-03-22 16:21:22 · 1680 阅读 · 0 评论 -
C# lock
在MSDN上对该关键的使用说明的很清楚 lock关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句然后释放该锁; Object thisLock = new Object(); lock (thisLock) { // Critical code section } lock确保当一个线程位于代码的临界区时,另一个线程不进入临界区,如果其他线程试图进入锁定的代码,转载 2017-03-22 17:47:15 · 417 阅读 · 0 评论 -
C# SemophoreSlim
它是Semaphore的轻量级版本,主要是针对本地资源的访问; 信号量有两种类型:本地信号量和已经命名的系统信号量,前者是针对本地的应用程序,后者显示在整个操作系统也使用于进程间的同步; SemaphoreSlim轻量级取代Semaphore,而不使用windows内核信号量的类,它不支持已命名的系统命名信号量;故而其作为单个应用程序中进行同步的建议信号量; 其用法和Semapho转载 2017-03-23 10:31:27 · 460 阅读 · 0 评论 -
C# AutoResetEvent
该类主要是用来从一个线程向另一个线程发送通知的; 构造函数中使用布尔参数,指示是否将初始状态设置为终止状态的类; 常用的方法: Reset():将事件状态设置为终止,从而导致线程受阻; Set():将事件设置为有信号,从而允许一个或多个等待线程继续执行; WaitOne():阻止当前线程,直到当前WaitHandle收到信号; WaitOne(Int32,Boolean):阻止当前的线程转载 2017-03-23 11:27:16 · 333 阅读 · 0 评论