
读书笔记
文章平均质量分 71
daviszr_1979
这个作者很懒,什么都没留下…
展开
-
2 正则表达式:反向引用
反向引用定义: 捕获组(Expression)在匹配成功时,会将子表达式匹配到的内容,保存到内存中一个以数字编号的组里,可以简单的认为是对一个局部变量进行了赋值。引用这个局部变量的值的方式被称为反向引用。 反向引用的表现方式:替换,用"/组号"或者"/组名"表示。 1 组号匹配的反向引用。(替换重复字符串) string userInputString = "Dr Dr原创 2008-02-15 14:08:00 · 271 阅读 · 0 评论 -
Asp.net 2.0 主题、外观
为什么css不能完全代替主题? 因为Asp.net服务器端控件的样式不能完全通过客户端的css来设置。(这句话是否准确,需要待查) 主题的定义 主题用于定义站点的外观,类似于CSS设置页面的样式。但是与CSS不同的是,主题可以指定服务器控件元素的外观。 主题的样式 1 Stylesheet 2 Customization原创 2009-12-14 19:57:00 · 281 阅读 · 0 评论 -
7 正则表达式:贪婪模式与懒惰模式
一 语法区别 贪婪模式与懒惰模式的语法区别在于重复限定修饰符的后面是否有问号,有的话就是懒惰模式,否则就是贪婪模式。 二 例子 他所说的应该是贪婪量词,是先吃尽所有字符,然后再一个一个地吐出来,直接匹配成功为止 而懒惰量词,是从头开始一个字符一个字符地吃,直接匹配成功为止 我想其意思应该是贫婪是逐渐向前匹配,而懒惰是向后慢慢匹配吧 贪婪和懒惰的匹配过程是这样的: 懒惰转载 2009-12-03 19:41:00 · 2577 阅读 · 0 评论 -
6 自定义线程池(线程应用程序的伸缩)
特殊说明:这个例子不是【C#线程参考手册】的例子,书中的例子对于我来说有些复杂。 在网上找到了一个自定义线程池的例子来代替书中的例子。 原著位置:http://www.cnblogs.com/Alexander-Lee/archive/2009/10/31/1593647.html 1 自定义线程池设计概要说明:1原创 2009-11-13 16:51:00 · 497 阅读 · 0 评论 -
6 线程应用程序的伸缩
1 什么是线程池管理 指在多线程应用程序的初始化过程中创建线程的集合,2 线程池设计 2.1 无需创建线程,缩短了应用程序相应时间。 2.2 在任务生存期内,不通过CLR回收线程资源。 2.3 线程池根据系统当前运行的进程,优化线程时间片。 2.4 允许启动多个线程,而不必为每个线程设置属性。原创 2009-11-12 17:19:00 · 245 阅读 · 0 评论 -
4 多线程应用:数据库连接池
首先说明一下:这个例子是来源于【C#线程参考手册】参考手册内的一个例子,在这个我只是想研究一下她的设计原理。 具体好用不好用,因为没有做具体项目的测试,所以提醒大家注意。 1 设计思路: 1.1 在程序的全局利用单例模式建立一个数据库连接池对象。 1.2 获得数据库连接方法BorrowDBConnection()。 这个原创 2009-11-09 15:46:00 · 1741 阅读 · 0 评论 -
5 线程设计规则
线程设计规则 1 并发的概念:同一时间访问同一对象的多个请求。 2 并发操作的方法: 2.1 异步编程 2.2 多线程 2.3 使用基于技术器的函数 3 设计线程应用程序 3.1 设计前要考虑的问题: 1 是否可以细分应用程序,使其运行在不同的线程上? 1.1 每个标识的任务是否使用单独的全局资源。 考虑全局资源是什么。 1.2 经过多长时间才能阻塞线程? 需原创 2009-11-10 19:16:00 · 321 阅读 · 0 评论 -
4 多线程应用:编写自己的线程安全包装器
当不想库内的每个类都具有线程安全性(因为同步会带来性能的损失),时可以选择编写线程安全包装器。 下面的例子告诉大家如何对一个对象做线程安全的设计。 下面看看这个关系图: BookLib类的思路,为BookLib类提供一种线程安全的访问(同步)。 代码如下:原创 2009-11-09 10:48:00 · 419 阅读 · 0 评论 -
3 使用线程
3 使用线程 3.1 线程不同步的危害 1 竞争条件 一个线程访问某个资源后,另一个县策划那个同时使用同一个资源,产生的不良后果成为竞争条件。 2 线程安全 形容某个方法或函数是否线程安全,指的是是否支持线程同步。 3.2 线程同步的方式 1 同步代码重要的部分 1.原创 2009-11-08 20:41:00 · 229 阅读 · 0 评论 -
2 .Net中的线程
主要讨论5个问题:1 线程的使用方式 这个不是重点,使用时就知道了。 多个线程在某个时间端上交替执行 通过线程的复制,可以执行不同的分支。 可以通过设定线程的优先级,来顺序执行。 可以通过timer和TimerCallBack获得线程动作结果,来判断线程是否执行完毕。 也可以在线程中创建线程。2 线程生存周期 开始原创 2009-11-07 19:46:00 · 195 阅读 · 0 评论 -
1 定义线程
基本概念 1 什么是多任务? 操作系统一次运行多个应用程序的能力。 2 什么是进程? 当程序启动时,操作系统为她分配的所需的内存及其它资源。 内存与资源的物理分离叫做进程。 3 什么是线程? 是指向进程的指令流部分的一个指针。只是指出当前和将来要使用的路径, 而这个通过数据和分支判断确定的指令来完成的。3.1 什么是主原创 2009-11-04 21:12:00 · 234 阅读 · 0 评论 -
3 正则表达式:简单的分组
分组: 一个字符串的模式应该看作一个不同的项。例如:要分别匹配姓和名。 一 简单分组: 1.1 捕获:"()" 概念:括号内的模式是整个模式的一个组,并作为一个组来匹配。MatchCollection matchesFound;Regex matchRegex = new Regex(@"([A-Z]{3})d");matchesFound = m原创 2008-02-21 14:57:00 · 332 阅读 · 0 评论 -
5 正则表达式:做决策
1 概念:表达式为:(?(expression)yes|no) 或 :(?(=expression)yes|no) 两种形式的正则,为做决策模式。 如果同表达式相同位置开始的字符串匹配expression表达式,如果匹配yes,则整个匹配是yes; 如果同表达式相同位置开始的字符串不匹配expression表达式,那么判断是否匹配No;如果原创 2008-02-21 18:07:00 · 305 阅读 · 0 评论 -
4 正则表达式:高级组
高级组: 1 概念:在简单组(捕获组、非捕获组、名称捕获组)的基础上对分组的进一步划分。 2 高级组划分: 2.1 正声明:(?=) 匹配邻接模式组左侧部分的字符串。MatchCollection matchesFound;Regex matchRegex = new Regex(@"S+(?=.NET)");matchesFound = matchRegex.Matches(原创 2008-02-21 17:04:00 · 271 阅读 · 0 评论 -
6 正则表达式:引擎规则
1 从左到右逐个字符匹配,直到发现一次匹配。 举例: Input string=123 ABC 456 DEF Regex=[A-Z]* 第一个匹配是ABC 2 发现一个匹配的开头后,正则表达式引擎将继续匹配,直到遇到一个不被模式接收的字符。 举例: Input string=123 ABC 456 DEF Regex=[A-Z]* 第一个匹配是ABC,当遇到空格时结束。原创 2008-02-22 17:26:00 · 296 阅读 · 0 评论 -
1 正则表达式:替换
1 全匹配替换:匹配模式的部分被替换。string userInputString = "Dr Waston, Mr Holmes, and Mrs Smith";userInputString = Regex.Replace(userInputString, "(Mr|Mrs|Miss|Ms|Dr) [A-Z][a-z]*", "Mr X");Console.WriteLine(use原创 2008-02-15 13:41:00 · 344 阅读 · 0 评论