2006年9月19日
我的周围程序员太多了,他们有着占有一切语言的欲望。在如今的面向对象的年代更是对面向对象语言有着强烈的占有欲。他们通过一本书,熟悉IDE,帮助文档掌握。可我总觉得有些重要的东西给遗忘了,是什么?是对象本身,更重要的应该是如何利用对象构建软件。
幻想一下,如果有人给你一个建造房子的活(北京的房子大家应该知道是什么价吧),如果你知道建造房子的一些基本的技能(当然是假的)。你的客户告诉你建造房子所需的一切材料都是你的活。就在即将开工的日子,一辆大卡车开到工地倒下一堆蓝色,星状的,中间带洞的材料。你估计蒙了。你习惯用水泥,木材建造房子。对一对蓝色星状不知如何是好。
中国文化真是博大精深,午睡能拯救一下午的精神。午饭后小睡一会儿能够有效补偿人体脑力、体力方面的消耗,对于健康是大有裨益的。我的椅子真爽听说是1700一把,我的公司真有钱,要知道所以员工都是相同的椅子。可以当床睡,我建议华为公司也换成这种椅子,不要老睡在地上了。
从生理学角度而言,人体脑细胞的兴奋一般可以持续4~5个小时,之后便会转入抑制状态。特别是午饭后,消化道的血液供应明显增多,大脑的血液供应明显减少,从而导致随血流进入大脑的氧气和营养物质也相应减少,于是人体的生物钟出现一次睡眠节律,使人产生精神不振、昏昏欲睡的感觉。此时,身体需要进行短时间的调整,以消除疲劳,恢复体力,稳定神经系统功能的平衡。那么,怎样科学地进行午睡呢?
首先,午睡时间不宜太长,最好在1小时以内。生理学研究表明,人体睡眠分浅睡眠与深睡眠两个阶段。通常情况下,人们在入睡80~100分钟后,便逐渐由浅睡眠转入深睡眠。在深睡眠过程中,大脑各中枢的抑制过程明显加强,脑组织中许多毛细血管网暂时关闭,脑血流量减少,机体的新陈代谢水平明显降低。如果人们在深睡眠阶段突然醒来,由于大脑皮层中较深的抑制过程不能马上解除,关闭的毛细血管网也不能立即开放,势必造成大脑出现一过性供血不足,植物神经系统功能出现暂时性紊乱,人体会感觉非常难受。这种不适感觉大约要持续30分钟左右才会逐渐消失。可见,午睡时间不是越长越好,而应以1小时以内为宜,这样既能有效消除疲劳,又不至于睡得过沉而不易醒来。
其次,不宜饭后立即午睡。因为午饭后胃内充满尚未消化的食物,此时立即卧倒会使人产生饱胀感。正确的做法是吃过午饭后,先做些轻微的活动,如散步、揉腹等,然后再午睡,这样有利于食物的消化吸收。
第三,要讲究睡眠姿势。经常可见有些人午睡时坐在椅子或沙发上打盹儿,有些人干脆趴在桌子上睡。其实,这些做法都不科学。人体在睡眠状态下,肌肉放松,心率变慢,血管扩张,血压降低,流入大脑的血液相对减少。尤其是午饭后,较多的血液进入胃肠,此时若再坐着睡,时间久了大脑就会缺氧,使人产生头重、乏力、腿软等不适感觉。而趴在桌子上睡,会压迫胸部,妨碍呼吸,增加心肺负担。一般认为睡觉姿势以右侧卧位为好,因为这样可使心脏负担减轻,肝脏血流量加大,有利于食物的消化代谢。但实际上,由于午睡时间较短,可以不必强求卧睡的偏左、偏右、平卧,只要能迅速入睡就行。
In
synchronous receiving, while the server is waiting to receive data from a client, if the stream is empty the main thread will block until the request for data is satisfied. Hence, the server cannot do anything else until it receives data from the client. If another client attempts to connect to the server at that time, the server cannot process that request because it is blocked on the first client. This behavior is not acceptable for a real-world application where we need to support multiple clients at the same time.
In asynchronous communication, while the server is listening or receiving data from a client, it can still process connection requests from other clients as well as receive data from those clients. When a server is receiving asynchronously, a separate thread (at the OS level) listens on the socket and will invoke a callback function (specified when the asynchronous listening was commenced) when a socket event occurs. This callback function in turn will respond and process that socket event. For example, if the remote program writes some data to the socket, a "read data event" (callback function you specify) is invoked; it knows how to read the data from the socket at that point.
简而言之,同步是一对一的,异步是一对多的。我翻译的太牛了,这么多英文就让我一句话就概括了。
http://www.infoq.com/一大群以前在微软和ibm等顶尖公司的大牛人开的。
牛人有什么了不起的,让大家追捧的感觉一定不错吧,虚荣!!!我突然想到我以前上的中学,那时候没有把心思放到学习上,所以学习不好,感觉低人一等。其实我觉的是老师们有问题,他们没有好好引导我,没有把本来就不复杂的知识说清楚,现在看来他们知道什么?所以我鄙视迂腐的老师们,他们能跟上时代的脚步?拜托,我还记得当初给我评的全校三差生。靠,现在想起来还历历在目。