
Linux
文章平均质量分 81
kejie1235
这个作者很懒,什么都没留下…
展开
-
Linux之并发进程服务器
服务器按处理方式可以分为迭代服务器和并发服务器两类。迭代服务器每次只能处理一个客户的请求,他实现简单但效率很低,通常这种服务器被称为迭代服务器。然而在实际应用中,不可能让一个服务器长时间地为一个客户服务,而需要器具有同时处理多个客户请求的能力,这种同时可以处理多个客户请求的服务器称为并发服务器,其效率很高却实现复杂。Linux系统主要提供3种方式支持并发: 进程,线程 以及 I/O多路复用原创 2012-11-05 16:51:47 · 679 阅读 · 0 评论 -
Linux之并发多线程服务器-2
从上面我们可以实现多线程服务器,但是我们在实现复杂功能时,要注意避免使用静态变量和同步问题。Linux系统中提供了线程特定数据(TSD)来取代静态变量。它类似于全局变量。但是是各个线程私有的,它以线程为界限。TSD是定义线程私有数据的唯一方法。同一进程中的所有线程,他们的同一特定数据项都由一个进程内唯一的关键字 KEY来标志。用了这个关键字,线程可以存取线程私有数据。在线程特定数据中通常使用原创 2012-11-06 20:55:53 · 603 阅读 · 0 评论 -
Linux之并发线程服务器
使用Linux多进程服务器,这些年虽说使用很好,但使用fork生成子进程存在一些问题。首先,fork占用大量的资源,内存映像要从父进程拷贝到子进程,所有描述符要在子进程中复制等等。虽然当前采用写时拷贝(copy -on-write)技术,将真正的拷贝推迟到子进程有写操作时,但fork任然需要占用大量资源。其次,fork子进程后,需要进程间通信(IPC)在父子进程间传递信息。由于子进程从一开始就有父原创 2012-11-05 21:26:30 · 646 阅读 · 0 评论 -
Linux之广播和多播
最近学习Linux网络编程学到了广播与多播,就在这做点笔记。其中一些原理我就不介绍了,我觉得学习Linux网络编程,TCP/IP三卷还是基础,是需要好好看看。广播的服务器端 :#include //#include #include #include #include #include #define BUFLEN 255void getcurtime(char *cur原创 2012-11-09 19:47:17 · 1060 阅读 · 2 评论