原文地址:http://blog.zhaojie.me/2009/07/thread-pool-1-the-goal-and-the-clr-thread-pool.html 线程池是一个重要的概念.不过我发现,关于这个话题的讨论似乎还缺少了点什么.作为资料的补充,以及今后文章所需要的引用,我在这里再完整而又简单地谈一下有关线程池,还有.NET中各种线程池的基础.更详细的内容就不多作展开了,有机会我们再详细讨论这方面的细节.这次,还是一个"概述"性质的,希望可以说明白这方面问题的一些概…
本文转自:http://www.cnblogs.com/lovecindywang/archive/2009/12/25/1632213.html 首先来看看如何创建线程: Console.WriteLine(Process.GetCurrentProcess().Threads.Count); Thread t1 = new Thread(() => { Thread.Sleep(1000); Thread t = Thread.CurrentThread; Console.WriteLine…
今天讨论一下HTTP协议.一个做前端的,如果连HTTP协议都不了解,那实在是太不合格了. 首先,什么是HTTP?Hyper Text Transfer Protocol(超文本传输协议),用在浏览器和Web服务器之间传输超文本网页.1991年,由IETF这个团体发布了第一个版本--HTTP/0.9,但它有严重的设计缺陷,只支持"GET"方法,不支持MIME类型,很快的就被HTTP/1.0取代.而1996年发布的这个HTTP/1.0也存活的并不长久,虽然是第一个正式发布的稳定版本.199…
分装库下载:https://github.com/facebook/FBMemoryProfiler FBMemoryProfiler类库使用教程:http://ifujun.com/fbmemoryprofiler-shi-yong-ji-chu-jiao-cheng/ 手机设备的内存是一个共享资源.应用程序可能会不当的耗尽内存.崩溃,或者遭遇大幅度的性能降低. Facebook iOS客户端有很多功能,并且它们共享同一块内存空间.如果任何特定的功能消耗过多的内存,就会影响到整个应用程序.这是…
    在日常生活中.包括在设计计算机软件时,我们常常要推断一个元素是否在一个集合中.     比方在字处理软件中,须要检查一个英语单词是否拼写正确(也就是要推断 它是否在已知的字典中).在 FBI.一个嫌疑人的名字是否已经在嫌疑名单上:在网络爬虫里.一个网址是否被訪问过等等.最直接的方法就是将集合中所有的元素存在计算机中,遇到一个新 元素时,将它和集合中的元素直接比較就可以.一般来讲.计算机中的集合是用哈希表(hash table)来存储的. 它的长处是高速准确.缺点是费存储空间.当集合比較小…
引言:物联网平台的一个重要功能就是资产管理,产品或者设备都可以看成是资产中组成部分,所以有时候说物联网平台可以进行产品管理和设备管理.通常应用物联网平台开发一套具有产品或者设备管理功能的系统的时候,必须定义产品模型(Profile).很多物联网平台的使用文档中大都会介绍了如何建立满足平台要求的产品模型,但是很少说明为什么要建立产品模型,建立的产品模型跟程序设计有啥关系.因此很多开发者都会按照介绍完成产品模型的定义,但是不太理解为什么要建这个模型,时不时会想想,为啥要这个Profile.本文从产品…
一.定义 在运行过程中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:还可以通过反射创建对象,这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 二.能做什么 1.在运行时判断任意一个对象所属的类 2.在运行时构造任意一个类的对象 3.在运行时判断任意一个类所具有的成员变量和方法 4.运行时调用任意一个对象的方法 5.生成动态代理 三.原理,通过例子说明 public class Test { public stat…
原文地址:http://blog.zhaojie.me/2009/07/thread-pool-2-dedicate-pool-and-io-pool.html 在上一篇文章中,我们简单讨论了线程池的作用,以及CLR线程池的一些特性.不过关于线程池的基本概念还没有结束,这次我们再来补充一些必要的信息,有助于我们在程序中选择合适的使用方式. 独立线程池 上次我们讨论到,在一个.NET应用程序中会有一个CLR线程池,可以使用ThreadPool类中的静态方法来使用这个线程池.我们只要使用QueueU…
http://www.jb51.net/article/102059.htm 处理器总处于以下状态中的一种: 1.内核态,运行于进程上下文,内核代表进程运行于内核空间 2.内核态,运行于中断上下文,内核代表硬件运行于内核空间 3.用户态,运行于用户空间 一个进程的上下文可以分为三个部分:用户级上下文,寄存器上下文以及系统级上下文. 用户级上下文:正文.数据.用户堆栈以及共享存储区 寄存器上下文:通用寄存器.程序寄存器.处理器状态寄存器.栈指针(ESP) 系统级上下文:  进程控制块task_st…
托管 vs. 原生线程 托管代码在“托管线程”上执行,(托管线程)与操作系统提供的原生线程不同.原生线程是在物理机器上执行的原生代码序列:而托管线程则是在CLR虚拟机上执行的虚拟线程. 正如JIT解释器将“虚拟的”中间(IL)指令映射到物理机器上的原声指令,CLR线程基础架构将“虚拟的”托管线程映射到操作系统的原生线程上. 在任意时刻,一个托管线程可能会也可能不会被分配到一个原生线程执行.例如,一个已经被创建(通过“new System.Threading.Thread”)但是未启动(通过“Sy…