linux开发
文章平均质量分 69
acmdream
我是福建某高校2013级在校生,学业之余喜欢研究算法。
展开
-
linux之getopt 函数
转自:http://blog.csdn.net/mr_jj_lian/article/details/6835137 命令行参数解析函数 —— getopt() getopt()函数声明如下: #include int getopt(int argc, char * const argv[], const char *optstring); extern c转载 2017-02-18 18:07:32 · 220 阅读 · 0 评论 -
多进程侦听同一端口
转自:http://blog.csdn.net/cwj649956781/article/details/21533341 一、端口侦听 我们知道,系统中的互联网端口地址是系统级唯一的,在默认情况下,IPV4和IPV6的同一个协议的套接口也不能再同一个端口侦听,而套接口编程的五元组就是,其中没有进程区分,所以一个系统的套接口对于同一个网络地址来说是唯一的。但是有时候为了实现负载平衡,可转载 2017-03-20 21:06:39 · 946 阅读 · 0 评论 -
unix/linux 系统实现多个进程监听同一个端口
一直疑惑一个应用app如何才能以多进程,多线程的方式运行。对于多线程可能很好理解,我们只要在进程中启用多线程的模式即可。也就是来一个请求,我们就用函数pthread_create()启用一个线程即可。这样我们的应用就可以在单进程,多线程的模式下工作。 但我们知道一个应用app通常工作在多进程,多线程的模式下,它的效率是最高的。那么我们如何才能做到多进程模式呢?经验告诉我们,如转载 2017-03-20 21:10:27 · 1732 阅读 · 0 评论 -
端口复用 -- socket编程:SO_REUSEADDR例解
转自:http://blog.csdn.net/xsckernel/article/details/8159292 网友vmstat多次提出了这个问题:SO_REUSEADDR有什么用处和怎么使用。而且很多网友在编写网络程序时也会遇到这个问题。所以特意写了这么一篇文章,希望能够解答一些人的疑难。 其实这个问题在Richard Stevens的《Unix网络编程指南》转载 2017-03-20 21:32:10 · 603 阅读 · 0 评论 -
Linux高性能服务器编程——进程池和线程池
转自:http://blog.csdn.net/walkerkalr/article/details/37729323 进程池和线程池 池的概念 由于服务器的硬件资源“充裕”,那么提高服务器性能的一个很直接的方法就是以空间换时间,即“浪费”服务器的硬件资源,以换取其运行效率。这就是池的概念。池是一组资源的集合,这组资源在服务器启动之初就完全被创转载 2017-03-20 22:03:47 · 674 阅读 · 0 评论 -
使用popen和system阻塞进程的区别
转自:http://blog.csdn.net/suifengpiao_2011/article/details/41280941 popen和system都可以执行外部命令。 popen相当于是先创建一个管道,然后fork,关闭管道的一端,执行exec,返回一个标准的io文件指针。 system相当于是先后调用了fork, exec,waitpid来执行外部命令 pope转载 2017-05-02 12:48:41 · 3542 阅读 · 1 评论 -
高效编程之互斥锁和自旋锁的一些知识
转自:http://www.cnblogs.com/hdflzh/p/3716156.html 两种锁的加锁原理 互斥锁:线程会从sleep(加锁)——>running(解锁),过程中有上下文的切换,cpu的抢占,信号的发送等开销。 自旋锁:线程一直是running(加锁——>解锁),死循环检测锁的标志位,机制不复杂。 两种锁的区别 互斥锁的起始原始开销要高于自旋转载 2017-06-10 14:02:24 · 248 阅读 · 0 评论