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