02 2017 档案
摘要:内核模式构造 前篇我们已经提过,内核模式构造比用户模式构造慢很多,一个原因是它们要求Windows操作系统自身的配合,另一个原因是内核对象上调用的每个方法都造成调用线程从托管代码转换为本机用户模式代码,再转换为背景内核模式代码,这些转换需要大量的CPU时间。 但是内核模式拥有用户模式没有的优点: 1
阅读全文
摘要:前言 当线程池的线程阻塞时,线程池会创建额外的线程,而创建、销毁和调度线程所需要相当昂贵的内存资源,另外,很多的开发人员看见自己程序的线程没有做任何有用的事情时习惯创建更多的线程,为了构建可伸缩、响应灵敏的程序,我们在前面介绍了线程也疯狂 异步编程。 但是异步编程同样也存在着很严重的问题,如果两个不
阅读全文
摘要:前言 本节主要介绍异步编程中Task、Async和Await的基础知识。 什么是异步? 异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。 异步和多线程 相同点:避免调用线程阻塞,从而提高软件的可响应性。 不同点: 异步操作无须额外的线程负担,并且使
阅读全文