2017年6月20日
摘要: 使用Thread类已经可以创建并启动线程了,但是随着开启的线程越来越多,线程的创建和终止都需要手动操作,非常繁琐,另一个问题是,开启更多新的线程但是没有用的线程没有及时得到终止的时候,会占用越来越多的系统资源,影响性能。 所以,.net为我们引入了ThreadPool(线程池),我们只需要把要执行的 阅读全文
posted @ 2017-06-20 17:45 永远的麦子 阅读(1031) 评论(0) 推荐(0)
摘要: 我们先从最基础的Thread说起。 创建并启动线程 创建并启动一个线程,如下代码: 1 namespace ConsoleApplication17 2 { 3 class Program 4 { 5 static void Main(string[] args) 6 { 7 var thread 阅读全文
posted @ 2017-06-20 17:05 永远的麦子 阅读(683) 评论(0) 推荐(2)
摘要: 多线程在项目开发过程中非常非常重要,这个系列就来详细总结一下,首先认识一下多线程。 windows为什么要支持多线程 计算机的早期时代,操作系统没有线程的概念,整个系统只运行着一个执行线程,其中包含操作系统代码和应用程序代码。只用一个执行线程的问题在于,长时间运行的任务会阻止其他任务的执行。例如16 阅读全文
posted @ 2017-06-20 15:36 永远的麦子 阅读(1163) 评论(2) 推荐(2)
摘要: 泛型是.net 2.0就有的特性,泛型在我们的平常的开发过程中使用得也非常多,为了更深刻地理解泛型,这篇文章就来总结一下。 什么是泛型 可以用下面2点来概括: 1,首先泛型也是一种类型(可以通过IL代码看出来)。 2,泛型提供了类型参数化的能力,允许用不同的类型进行实例化,可以简单地理解为:泛型是类 阅读全文
posted @ 2017-06-20 11:46 永远的麦子 阅读(938) 评论(0) 推荐(2)