日斋
日新月异
摘要: 序列化和反序列化我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。   我想最主要的作用有:   1、在进程下次启动时读取上次保存的对象的信息   2、在不同的AppDomain或进程之间传递数据   3、在分布式应用系统中传递数据   ......   在C#中常见的序列化的方法主要也有三个:Bi... 阅读全文
posted @ 2010-01-12 15:11 李承隆 阅读(327) 评论(1) 推荐(0) 编辑
摘要: 操作系统使用进程将它们正在执行的不同应用程序分开。线程是操作系统分配处理器时间的基本单元,每个进程中都可以有多个线程同时执行代码。每个线程都维护异常处理程序、调度优先级和线程上下文结构。在调度线程之前,系统将线程上下文保存起来,以便在下一次执行时能够从保存的状态重新开始。线程上下文包括为使线程在线程的宿主进程地址空间中无缝地继续执行所需的所有信息,包括线程的CPU寄存器组和堆栈。应用程序域(由Sy... 阅读全文
posted @ 2010-01-12 14:52 李承隆 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 线程操作主要包括线程的创建和管理,以及如何将数据传递到托管线程并返回线程代码的执行结果。19.2.1 创建线程创建线程是通过创建新的Thread对象来实现的。Thread类的构造函数需要一个ThreadStart委托或ParameterizedThreadStart委托作为参数。ThreadStart委托和ParameterizedThreadStart委托表示在Thread上执行的方法。它们的定... 阅读全文
posted @ 2010-01-12 14:51 李承隆 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 编写线程应用程序时,可能需要使各单个线程与程序的其他部分同步。同步可以在多线程编程的非结构化特性与同步处理的结构化顺序之间进行平衡。同步技术具有以下用途:— 如果必须以特定顺序执行任务,那么使用同步技术可以显式控制代码运行的顺序。 — 使用同步技术可以避免当两个线程同时共享同一资源时可能会发生的问题。.NET框架提供了两种方法可以实现同步,即简单方法和高级方法。简单方法包括... 阅读全文
posted @ 2010-01-12 14:50 李承隆 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 许多应用程序使用多个线程,但这些线程经常在休眠状态中耗费大量的时间来等待事件发生。其他线程可能进入休眠状态,并且仅定期被唤醒以轮询更改或更新状态信息,然后再次进入休眠状态。为了简化对这些线程的管理,.NET框架为每一个进程提供了一个线程池,使应用程序能够根据需要来有效地利用多个线程。一个线程监视排到线程池的若干个等待操作的状态。当一个等待操作完成时,线程池中的一个辅助线程就会执行对应的回调函数。线... 阅读全文
posted @ 2010-01-12 14:47 李承隆 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 异步操作通常用于执行完成时间可能较长的任务,如打开大文件、连接远程计算机或查询数据库。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序可在异步方法执行其任务时继续执行。.NET框架能够对任何方法进行异步调用。进行异步调用时,需要定义与异步调用的方法具有相同签名的委托。公共语言运行时会自动使用适当的签名为该委托定义BeginInvoke和EndInvoke方法。... 阅读全文
posted @ 2010-01-12 14:46 李承隆 阅读(274) 评论(0) 推荐(0) 编辑
摘要: By sadaf alvi 翻译:cppbug (itwizard@163.com) 绪论 特性(Attributes)是一种崭新的声明性信息。我们不仅可以通过特性来定义设计层面的信息(例如help file, URL for documentation)以及运行时(run-time)信息(例如使XML与class相联系),而且我们还可以利用特性建立自描述(self-describing)组件... 阅读全文
posted @ 2010-01-12 11:28 李承隆 阅读(171) 评论(0) 推荐(0) 编辑