随笔 - 576  文章 - 0  评论 - 62  阅读 - 219万
03 2012 档案
理解IP和端口
摘要:IP地址是一个规定,现在使用的是IPv4,既由4个0-255之间的数字组成,在计算机内部存储时只需要4个字节即可。在计算机中,IP地址是分配给网卡的,每个网卡有一个唯一的IP地址,如果一个计算机有多个网卡,则该台计算机则拥有多个不同的IP地址,在同一个网络内部,IP地址不能相同。IP地址的概念类似于电话号码、身份证这样的概念。由于IP地址不方便记忆,所以有专门创造了域名(Domain Name)的概念,其实就是给IP取一个字符的名字,例如163.com、sina.com等。IP和域名之间存在一定的对应关系。如果把IP地址类比成身份证号的话,那么域名就是你的姓名。一台拥有IP地址的主机可以提供许 阅读全文
posted @ 2012-03-07 16:24 Andy Niu 阅读(27996) 评论(2) 推荐(8) 编辑
C# 理解Thread.Join()方法
摘要:MSDN的解释:阻塞调用线程,直到某个线程终止时为止。首先明确几个问题:1、一个进程由一个或者多个线程组成,线程之间有可能会存在一定的先后关系和互斥关系。多线程编程,首先就是要想办法划分线程,减少线程之间的先后关系和互斥关系,这样才能保证线程之间的独立性,各自工作,不受影响。Google的MapReduce核心思想就是尽量减少线程之间的先后关系和互斥关系。2、无论如何地想办法,线程之间还是会存在一定的先后关系和互斥关系,这时候可以使用Thread.Join方法。3、一个线程在执行的过程中,可能调用另一个线程,前者可以称为调用线程,后者成为被调用线程。4、Thread.Join方法的使用场景:调 阅读全文
posted @ 2012-03-06 11:12 Andy Niu 阅读(14403) 评论(2) 推荐(8) 编辑
C# 理解Thread.Sleep()方法 ----转帖
摘要:我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:1、假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2008-4-7 12:00:01.000 的时候,这个线程会 不会被唤醒?2、某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么?我们先回顾一下操作系统原理。操作系统中,CPU竞争有很多种策略。Unix系统使用的是时间片算法,而Windows则属于抢占式的。 阅读全文
posted @ 2012-03-06 09:56 Andy Niu 阅读(55219) 评论(12) 推荐(32) 编辑
理解线程同步
摘要:1、首先确定一点:同步安全,异步不安全。2、结合实例,针对下面的使用场景:妈妈做蛋糕给儿子吃。3、需求分析:(a)蛋糕的数量是共享数据,应该放入临界区。(b)妈妈做蛋糕的时候,儿子不能吃;儿子吃蛋糕的时候,妈妈不能做。(c)假设儿子很饿,妈妈做一个,儿子吃一个,妈妈做好一个后,等待儿子去吃,吃完后再去做,但是,如果儿子贪玩,很长时间都没吃完一个蛋糕,妈妈就不管了。继续做蛋糕。(d)有一点是肯定的:必须要蛋糕,儿子才能吃,也就是说,如果蛋糕没了,儿子必须等待妈妈做好蛋糕,并且必须一直等下去,知道妈妈做出蛋糕。(e)妈妈做好蛋糕后,通知儿子吃蛋糕;儿子吃完蛋糕后,通知妈妈继续做蛋糕。注意:为了避免 阅读全文
posted @ 2012-03-05 18:23 Andy Niu 阅读(785) 评论(0) 推荐(0) 编辑
理解进程和线程
摘要:举例来说:程序员为女儿做蛋糕。1、程序员需要食谱,食谱上写出了需要哪些原料,如何做。食谱就是程序,原料就是数据,程序员就是CPU。程序员按照食谱、对原料进行加工,做蛋糕的过程就相当于CPU执行代码、操作数据的过程。做蛋糕的过程就是进程。2、做蛋糕可以分为几个小的步骤,这些步骤共同加工原料。每个小的步骤就是一个线程。比如做蛋糕进程可以分为以下几个线程:取原料(包括鸡蛋、面粉、奶油、糖、水等),混合原料,烘烤混合物。这些步骤之间存在一定的先后关系和互斥关系,比如:混合原料必须在取原料之后,二者不能同时进行。3、假设程序员做蛋糕的时候,淘气的儿子跑进来,对爸爸说,被蜜蜂蛰了(相当于进来一个优先级更高 阅读全文
posted @ 2012-03-05 16:54 Andy Niu 阅读(466) 评论(0) 推荐(1) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示