一、读前需知! 1.知识储备——Windows线程池简单了解 该部分笔者之前已简单介绍过【计算机常识】线程是什么? 麻烦读者跳到对应部分阅读,在此就不赘述了。 2.明确一点,C#异步编程≠多线程编程 纵然C#异步编程与多线程有千丝万缕的关系,但从技术细节上严格讲,异步编程≠多线程编程。笔者在刚开始边读技术书籍边写该篇博客时也陷入过理解…
一、线程的诞生 1、早期操作系统单线程的糟糕使用体验 在早期的计算机操作系统中并没有多线程的概念。事实上,当时的操作系统整体只运行着一个执行主线程,其中同时运行着操作系统和应用程序的代码。只用一个主线程的问题在于,当某个任务需要耗费大量时间时会阻止后续任务的执行,例如某个窗口应用在进行长时间计算时,其窗口是不能移动的。更严重的情况,例如因为某些bu…