C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 50 下一页

2013年3月31日

摘要: 最近终于开始看《HTTP权威指南》了,第一章主要是简介一些基本的概念。下面列出一些常用,但还不是很了解的简单概念。一、常见概念:1、媒体类型 因特网上有数千种不同的数据类型,HTTP仔细地给每种要通过Web传输的对象都打上了名为MIME类型(MIME type)的数据格式标签。 MIME类型是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠分隔。 格式:类型/格式 如: HTML格式的文本文档由text/html类型来标记。 text是文档类型,html是格式。 普通的ASCII文本文档由text/plain类型来标记。 JPEG格式图片为image/... 阅读全文
posted @ 2013-03-31 19:58 逆心 阅读(1192) 评论(0) 推荐(0) 编辑

2013年3月29日

摘要: 一、ManualResetEvent 该对象有两种信号量状态True和False。构造函数设置初始状态。简单来说,如果构造函数由true创建,则第一次WaitOne()不会阻止线程的执行,而是等待Reset后的第二次WaitOne()才阻止线程执行。如果构造函数有false创建,则WaitOne... 阅读全文
posted @ 2013-03-29 12:41 逆心 阅读(1318) 评论(2) 推荐(0) 编辑

摘要: 在学习异步之前先来说说异步的好处,例如对于不需要CPU参数的输入输出操作,可以将实际的处理步骤分为以下三步:启动处理;实际的处理,此时不需要CPU参数;任务完成后的处理; 以上步骤如果仅仅使用一个线程,当线程正在处理UI操作时就会出现“卡”的现象。 如果使用异步的处理方式,则这三步处理过程涉及到两个线程,主线程中启动第一步;第一步启动后,主线程结束(如果不结束,只会让该线程处于无作为的等待状态);第二步不需要CPU参与;第二步完成之后,在第二个线程上启动第三步;完成之后第二个线程结束。这样的处理过程中没有一个线程需要处于等待状态,使得运行的线程得到充分利用。一、CLR线程池的I/O线程... 阅读全文
posted @ 2013-03-29 09:19 逆心 阅读(5477) 评论(1) 推荐(2) 编辑

2013年3月28日

摘要: 一、CLR线程池 管理线程开销最好的方式:尽量少的创建线程并且能将线程反复利用(线程池初始化时没有线程,有程序请求线程则创建线程);最好不要销毁而是挂起线程达到避免性能损失(线程池创建的线程完成任务后以挂起状态回到线程池中,等待下次请求);通过一个技术达到让应用程序一个个执行工作,类似于一个队列(多个应用程序请求线程池,线程池会将各个应用程序排队处理);如果某一线程长时间挂起而不工作的话,需要彻底销毁并且释放资源(线程池自动监控长时间不工作的线程,自动销毁);如果线程不够用的话能够创建线程,并且用户可以自己定制最大线程创建的数量(当队列过长,线程池里的线程不够用时,线程池不会坐视不理); .. 阅读全文
posted @ 2013-03-28 09:25 逆心 阅读(17837) 评论(1) 推荐(14) 编辑

2013年3月26日

摘要: 操作系统通过线程对程序的执行进行管理,当操作系统运行一个程序的时候,首先,操作系统将为这个准备运行的程序分配一个进程,以管理这个程序所需要的各种资源。在这些资源之中,会包含一个称为主线程的线程数据结构,用来管理这个程序的执行状态。 在Windows操作系统下,线程的的数据结构包含以下内容: 1、线程 阅读全文
posted @ 2013-03-26 23:57 逆心 阅读(5141) 评论(5) 推荐(4) 编辑

2013年3月24日

摘要: 面向对象三大特性:封装、继承和多态。一、封装 封装: 每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。 封装的好处: 1、良好的封装能够减少耦合。 2、类内部的实现可以自由地更改。 3、类具有清晰的对外接口。二、继承 对象的继承代表了一种"is-a"的关系,如果两个对象A和B,可以描述为"B是A",则表明B可以继承A。继承者还可以理解为是对被继承者的特殊化,因为它除了具备被继承者的特性外,还具备自己独有的个性。 继承常用与提炼出相同的特性,放于父类,起到减少代码重复的作用。 继承定义了类如何相互关联 阅读全文
posted @ 2013-03-24 20:52 逆心 阅读(759) 评论(0) 推荐(0) 编辑

摘要: 访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 下面给出访问者模式的结构图: 从类图可以看出,访问者模式那是相当复杂啊! 下面给出访问者模式的基本代码结构:namespace ConsoleApplication1{ //Visitor类,为该对象结构中ConcreteElement的每一个类声明一个Visit操作。 abstract class Visitor { public abstract void VisitConcreteElementA(Co... 阅读全文
posted @ 2013-03-24 02:56 逆心 阅读(543) 评论(0) 推荐(0) 编辑

摘要: 解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 解释器模式需要解决的是,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。 下面给出解释器模式的结构图: 下面给出解释器模式的基本代码结构:namespace ConsoleApplication1{ //AbstractExpresstion(抽象表达式),声明一个抽象的解释操作,这个接口为抽象语法树中所有的节点所共享 ... 阅读全文
posted @ 2013-03-24 02:01 逆心 阅读(486) 评论(0) 推荐(0) 编辑

摘要: 享元模式(Flyweight),运用共享技术有效地支持大量细粒度的对象。 下面给出享元模式的结构图: 下面给出享元模式的基本代码结构:namespace ConsoleApplication1{ //Flyweight类,它是所有具体享元类的超类或接口,通过这个接口,Flyweight可以接受并作用于外部状态 abstract class Flyweight { public abstract void Operation(int extrinsicstate); } //ConcreteFlyweight是继承Flyweight... 阅读全文
posted @ 2013-03-24 00:13 逆心 阅读(326) 评论(0) 推荐(0) 编辑

2013年3月23日

摘要: 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 来看中介者模式的结构图: Colleague叫做抽象同事类,而ConcreteColleague是具体同事类,每个具体同事只知道自己的行为,而不了解其他同时类的情况,但它们却都认识中介者对象,Mediator是抽象中介者,定义了同事对象到中介者对象的接口,ConcreteMediator是具体中介者对象,实现抽象类方法,它需要知道所有具体同事类,并从具体同事接收信息,向具体同事对象发出命令。 下面给出中介者模式的基本代... 阅读全文
posted @ 2013-03-23 23:15 逆心 阅读(385) 评论(0) 推荐(0) 编辑

上一页 1 ··· 30 31 32 33 34 35 36 37 38 ··· 50 下一页