摘要:
从开始接触多线(进)程编程模型开始,学习的就是和信号量(Semaphore)相关的同步原语。不知道为什么 .Net Framework 里却没有相应的东东。要命的是, 我以前有很多久经考验的C++代码都是用她来实现的, 为了不使革命先烈的药白吃, 血白流, 只好自己生一个了。什么是信号量(Semaphore) 如果你已经了解信号量(Semaphore)的概念了,请跳过这一段。 信号量(Semaphore)是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。 我们来看看一个停车场是怎样运作的。为了简单起见,假设停车场只有三个车位,一开始三个车位都是空 阅读全文
随笔档案-2010年12月
System.CodeDom详述及其应用实例
2010-12-29 10:44 by 周国选, 7803 阅读, 收藏, 编辑
摘要:
.NET推崇这样一种思想:相对于框架而言,语言处于从属、次要的地位。CodeDom名称空间中包含的类是这一思想的集中体现。我们可以用CodeDom构造一个树或图,用System.CodeDom名称空间的类填充它,完成后,用对应各种.NET语言的CodeProvider对象将树结构转换成该种语言的代码。要更换一种语言,简单到只需更换一下最后用到的CodeProvider对象。 设想一下,利用这一技术,我们至少能够: ·查询存储过程的元数据,构造出一个负责参数绑定的类。 ·查询程序集的manifest,构造出一个对每个函数执行单元测试的类。 ·为开发组用到的每一种语言生成样 阅读全文