C#
文章平均质量分 74
G_Q_L
每天进步多一点
展开
-
C# via CLR 多线程的学习
程序、进程和线程关系简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 什么是程序(program)? 程序是存储在磁盘上的一段可执行代码,它是一种静态的描述。可以理解为程序是死的。什么是进程(process) ? 进程是将磁盘上存储的可执行代码,加载到内存执行的一个动态过程。可以理解为进程是活的。进程是应用程序的一个实例要使用的资源的集合。进程是系统分配资源的基本单位,每个进程都有原创 2017-08-10 09:27:09 · 540 阅读 · 0 评论 -
CLR via C#线程池与委托异步调用
CLR线程池CLR线程池一个应用程序最多只能有一个线程池。线程池是为突然大量爆发的线程设计的,通过有限的几个固定线程为大量的操作服务,减少了创建和销毁线程所需的时间,从而提高效率。CLR线程池用于对.NET中线程的管理,其基本的工作方式为:线程池的最开始是没有线程的,线程池有一个请求队列。当应用程序请求一个线程的时候,CLR会调用某个方法,将请求放入线程池的请求队列中。然后线程池会创建新的线程原创 2017-08-10 14:13:39 · 576 阅读 · 0 评论 -
CLR via C#垃圾回收
垃圾回收平台的工作原理对资源的访问调用IL指令newobj,为资源的类型分配内存初始化内存,设置资源的初始状态,这一步由构造方法执行访问类型的成员访问结束后摧毁资源状态进行清理由垃圾回收器处理,释放内存使用IL指令newobj创建对象时,CLR会执行下面步骤: 1. 计算类型的字段所需要的字节数 2. 加上对象的开销(对象指针和同步快索引)所需的字节数,对于32位程序需要加8字节,6原创 2017-08-11 10:57:33 · 382 阅读 · 0 评论 -
使用C#解决编程题一
还记得大一时练习ACM算法的时光,那时候解题用的是c和c++,最近想练练编程算法,但是c和c++好久没用了,很多地方生疏了。鉴于此,我准备用C#来写写代码。进制转换第一行:A进制和B进制(2<=A,B<=30) 第二行:A进制的数值num 要 求 :将A进制的num转为B进制数输出代码://输入A和B进制和数值string AtoB = Console.ReadLine();stri原创 2017-09-27 21:04:12 · 823 阅读 · 0 评论 -
数组、链表和哈希表
数组和链表的区别: 1、数组是将元素在内存中连续存放。 链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起。 2、数组必须事先定义固定的长度,不能适应数据动态地增减的情况。 链表动态地进行存储分配,可以适应数据动态地增减的情况。 3、(静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小。 链表从堆中分配空间, 自由度大但是申请管理原创 2017-10-31 21:49:25 · 1078 阅读 · 0 评论