随笔分类 -  心得

摘要:最近看了UNP,这是对服务器编程模型的笔记1.简单服务器模型(迭代) 服务器进程接受连接,处理请求,然后等待下一个连接。从进程控制的角度来说这种模型是最快的,因为没有进程间的切换,但是客户需要等待在listen中等待服务器accept。2.多进程模型 服务器进程接受连接,fork一个子进程为客户服务,然后等待下一个连接。多进程模型适用于单个客户服务需要消耗较多的 CPU 资源,例如需要进行大规模或长时间的数据运算或文件访问。多进程模型具有较好的安全性。在实现中需要注意 1.监听套接口和链接套接口的关闭时机; 2.及时处理已经结束的子进程(信号处理); 3.被中断的系统调用的恢复(... 阅读全文
posted @ 2013-05-16 16:15 tangr206 阅读(580) 评论(0) 推荐(0)
摘要:摘选: TcpV2 15.10节tsleep and wakeup Functions阻塞: When a process executing within the kernel cannot proceed because a kernelresource is unavailable, it waits for the resource by calling tsleep, which hasthe following prototype: int tsleep (caddr_t chan, int pri, char *mesg, int timeo); The first... 阅读全文
posted @ 2013-05-16 13:50 tangr206 阅读(525) 评论(0) 推荐(0)
摘要:apue说linux线程是用clone创建子进程实现的,所以两个线程会有不同进程ID,我上机试验ID是一样的,为什么啊linux是不是已经完全实现了线程 LWP LightWeightNPTLvs LinuxThread Linux从内核2.0到内核2.4期间多线程编程使用的是LinuxThread,但使用这种方式写出的多线程程序在诸多特性上并不是跟POSIX标准兼容的(通过网址:http://www.kernel.org/doc/man-pages/online/pages/man7/pthreads.7.html可以了解诸多的不兼容特性)。这显然跟Linux号称的跟POSIX标准兼容不.. 阅读全文
posted @ 2013-03-29 13:20 tangr206 阅读(568) 评论(0) 推荐(0)
摘要:candidates = "state node seelog state runstate libtime start stop enable onedeploy deploy make quit FeedAssistant FeedDispatcher FeedNews FeedMini FeedClass FeedGroup FeedFocus FeedSink FeedMark".split()python以目录来组织模块, 就是所谓的包. 用包的一大好处: 可以解决名字空间冲突的问题, 即文件重名问题. 下面主要说3点: 1. 如何使一个目录变成包,如何impor 阅读全文
posted @ 2013-03-21 21:18 tangr206 阅读(243) 评论(0) 推荐(0)