信号同步机制
2016-01-21 14:33
267 查看
1.3.1.4 集合同步
C#为各种集合类型提供了两种方便的同步机制:Synchronized 包装器和 SyncRoot 属性。
// Creates and initializes a new ArrayList
ArrayList myAL = new ArrayList();
myAL.Add( " The " );
myAL.Add( " quick " );
myAL.Add( " brown " );
myAL.Add( " fox " );
// Creates a synchronized wrapper around the ArrayList
ArrayList mySyncdAL = ArrayList.Synchronized(myAL);
1.3.1.1 同步粒度
同步粒度可以是整个方法,也可以是方法中某一段代码。为方法指定 MethodImplOptions.Synchronized 属性将标记对整个方法同步。例如:[MethodImpl(MethodImplOptions.Synchronized)]
public static SerialManager GetInstance()
{
if (instance == null )
{
instance = new SerialManager();
}
return instance;
}
通常情况下,应减小同步的范围,使系统获得更好的性能。简单将整个方法标记为同步不是一个好主意,除非能确定方法中的每个代码都需要受同步保护。
将任务添加进线程池:
ThreadPool.QueueUserWorkItem(new WaitCallback(方法名));
重载
ThreadPool.QueueUserWorkItem(new WaitCallback(方法名), 参数);
因为ThreadPool是静态类 所以不需要实例化.
相关文章推荐
- Objective-C多线程详解(NSThread、NSOperation、GCD)
- PCL点云库配置整理
- Linux下,命令 wget 的使用
- 改善Chrome在Windows下的中文字体效果
- Unity3D判断鼠标向右或向左滑动,响应不同的事件
- Git merge 策略
- 数据结构_8:查找:二叉排序树
- SharePoint 2013 Designer 自己定义操作菜单
- Jquery 时间格式化
- git之切换分支出现的问题
- HBase框架简介(整理)
- Centos 6.5 优化 一些基础优化和安全设置
- android资源文件 color.xml
- 特殊钢立式连铸—美国钢铁核心竞争力并未衰落
- Android studio 多渠道打包(超简洁版)
- MJExtention
- ES6令人激动的特性
- Openssl目录名以及功能描述
- Linux学习29_解决bash: 命令: command not found
- Fragment参数传递(一)