星星之火

燎原之势不可挡
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年10月5日

摘要: 在实际的编程中某些任务执行完成时间可能较长,比如打开大文件、连接远程计算机或查询数据库,这个时候如果采用异步操作可以极大提高程序的运行效率,提供良好用户体验。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序仍然可以继续执行当前的程序。下面列举了.NETFramework中支持异步编程的部分,主要包括:文件(File)IO、流(Stream)IO、套接字(Socket)IO,网络,远程处理信道(HTTP、TCP)和代理,使用ASP.NET创建的XMLWebservices,ASP.NETWeb窗体,使用MessageQueue类的消息队列等。谈到异步操作,. 阅读全文

posted @ 2012-10-05 19:33 星星之火116 阅读(1470) 评论(4) 推荐(1)

摘要: 上一节主要讲了创建调用有参(多参)函数的线程和线程池的一些内容,这一节主要讲线程的同步。多线程的出现解决了吞吐量和响应速度的问题,但同时也带来了资源共享问题,如死锁和资源争用。在为单个资源分配多个线程可能会导致同步问题。何为线程同步呢?所谓同步,是指多个线程之间存在先后执行顺序的关联关系。如果一个线程必须在另一个线程完成某个工作后才能继续执行,则必须考虑如何让其他保持同步,以确保在系统上同时运行多个线程而不会出现死锁或逻辑错误。下面先看一个例子:classProgram{staticvoidMain(string[]args){Threadthread=newThread(newThreadS 阅读全文

posted @ 2012-10-05 14:59 星星之火116 阅读(528) 评论(0) 推荐(0)

摘要: 上一节主要是对线程有一个具体的介绍,同时也介绍了线程调用无参函数的方法,这一节主要介绍线程调用有参甚至是多参函数,同时也会进一步的介绍线程池。先介绍线程调用有参函数一、调用有一个参数的函数staticvoidMain(string[]args){//标记显示主线程IDConsole.WriteLine("主线程的ID:"+Thread.CurrentThread.ManagedThreadId);//如果线程要调用有参函数,这时线程的构造函数的参数应为一个ParameterizedThreadStart的实例对象,函数参数必须为Object类型Threadthread=ne 阅读全文

posted @ 2012-10-05 09:36 星星之火116 阅读(1411) 评论(0) 推荐(1)