Pennant的日常
分享工作上的点点滴滴
上一页 1 ··· 4 5 6 7 8
摘要: 我们先从两个虽然存在不足但却十分有趣的锁算法讲起。LockOne类双线程的锁算法遵循以下两点约定:线程的标识为0或1,若当前调用者的标识为i,则另一方为j = 1 - i;每个线程通过调用ThreadID.get()获取自己的标识。用writeA(x = v)表示A将值v赋予域x,用readA(v == x)表示A从域x中读取值v。在值不重要的情形下,可以省略v。下图的writeA(flag[i]... 阅读全文
posted @ 2009-09-30 17:25 汝熹 阅读(1259) 评论(4) 推荐(0) 编辑
摘要: 互斥是多处理器程序设计中最常见的一种协作方式。我们将某一资源放入临界区内:某个时刻仅能被一个线程执行,称这样的特征为互斥。实现互斥的标准方法就是采用一个具有以下接口的ILock对象。[代码]一个线程若执行了setlock()方法调用,则称该线程获得一个锁(或称上锁);若执行了unlock()方法调用,则称该线程释放这个锁(或称开锁)。上面共享计数器的实现中,就是使用ILock域来保证对象的互斥特性... 阅读全文
posted @ 2009-09-29 10:40 汝熹 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 从单处理器升级到n路关联多处理器应该提高了n倍的计算能力,实际是这样吗?假设有5个朋友要粉刷一套有5个房间的屋子。如果所有房间大小都一样,那么可以指定每人负责一间,只要这5个人以同样的速度来粉刷,就能获得相当于由一个人完成整个粉刷工作5倍的加速比。如果每个房间的大小不一,问题就复杂多了。例如,若有一个房间是其他房间的2倍,那么这5个人同时工作就不可能获得5倍的加速比,因为整个任务的完成时间取决于粉... 阅读全文
posted @ 2009-09-28 19:38 汝熹 阅读(765) 评论(1) 推荐(0) 编辑
摘要: 就是通过反射调用ReportViewer里的函数实现套打功能,在WinForm下测试并正在使用,WebForm下未经测试,不知可否使用。在使用套打前不能ReportViewer.SetDisplayMode,Set后会造成打印两份文件出来,原因不清楚。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www... 阅读全文
posted @ 2009-05-16 16:56 汝熹 阅读(3717) 评论(7) 推荐(0) 编辑
摘要: 1.子报表的使用 先在主报表中添加上子报表,再设置子报表属性,使主报表和子报表之间有值的关联。 转到子报表界面添加报表参数。 Table还需要设置过滤 代码方面: ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);... 阅读全文
posted @ 2008-09-05 16:18 汝熹 阅读(1067) 评论(1) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8