Linux下通用线程池的创建与使用

Linux下通用线程池的创建与使用 本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程...

2013-07-09 11:21:36

阅读数:828

评论数:0

Epoll模型详解

Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。 1、为什么select落后     首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETS...

2013-07-09 09:56:34

阅读数:501

评论数:0

/usr/bin/ld: cannot find -l* 错误的解决方法

/usr/bin/ld: cannot find -l* 错误的解决方法 原因: 1.系统缺乏对应的库文件; 2.版本不对应; 3.库文件的链接错误; 4.库文件路径设置问题 解决办法:(原因1、2) 方法一: 可用yum install libtool-l*来安装yum ...

2013-05-31 10:20:00

阅读数:3113

评论数:0

linux编译动静态库

Linux 版本是 Red Hat 9 ,内核版本是 2.4.18 输入 which gcc 查看 gcc 的位置在 /usr/bin/gcc gcc -v 查看 gcc 编译前的配置信息 --prefix=/usr 说明了安装目录 没有 --with-headers 说明默认的 incl...

2013-05-31 09:30:28

阅读数:693

评论数:0

errno值

经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。     在程序代码中包含 #include ,然后每次程序...

2013-02-21 09:32:40

阅读数:328

评论数:0

linux下进程的最大线程数、进程最大数、进程打开的文件数

linux 系统中单个进程的最大线程数有其最大的限制 PTHREAD_THREADS_MAX 这个限制可以在 /usr/include/bits/local_lim.h 中查看 对 linuxthreads 这个值一般是 1024,对于 nptl 则没有硬性的限制,仅仅受限于系统的资源...

2012-12-22 17:22:05

阅读数:544

评论数:0

Linux内存点滴 用户进程内存空间

http://www.perfgeeks.com/?p=723 http://www.perfgeeks.com/?p=770  经常使用top命令了解进程信息,其中包括内存方面的信息。命令top帮助文档是这么解释各个字段的。 VIRT , Virtual Image (kb) RES, R...

2012-12-22 16:37:09

阅读数:491

评论数:0

进程间通信---共享内存(shmget)

当然只有mmap是可以的,不过由于各种不同的系统的架构不一样,后来又经过整合,所以我们现在的linux有多种内存共享方案,下面在介绍一种非常常用的系统V内存方案。 本人首先再在上次的基础之上介绍一个网址 http://www.360doc.com/content/080702/11/67071...

2012-04-24 16:15:59

阅读数:2188

评论数:0

用于并行计算的多线程数据结构,第 1 部分: 设计并发数据结构

简介 现在,您的计算机有四个 CPU 核;并行计算 是最时髦的主题,您急于掌握这种技术。但是,并行编程不只是在随便什么函数和方法中使用互斥锁和条件变量。C++ 开发人员必须掌握的关键技能之一是设计并发数据结构。本文是两篇系列文章的第一篇,讨论如何在多线程环境中设计并发数据结构。对于本文,我们使用...

2012-04-16 13:34:49

阅读数:687

评论数:0

使用 getopt() 进行命令行处理

简介: 所有 UNIX® 程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与其他程序或用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。不过很多开发人员都将其宝贵的时...

2012-04-11 16:43:52

阅读数:370

评论数:0

五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O

转载至:http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520112163171778/ 种I/O 模式: 【1】        阻塞 I/O           (Linux下的I/O操作默认是阻塞I/O,即open和sock...

2012-04-09 13:42:04

阅读数:913

评论数:0

gethostbyname 和 gethostbyname_r(可重入的)得到dns信息

使用这个东西,首先要包含2个头文件: #include #include struct hostent *gethostbyname(const char *name); 这个函数的传入值是域名或者主机名,例如"www.google.com","wpc&q...

2012-04-06 14:03:17

阅读数:11957

评论数:0

C++:p2p通信,打洞技术,穿越NAT的实现

UDP/TCP穿越NAT的P2P通信方法研究(UDP/TCP打洞 Hole Punching) NAT设备的类型介绍:转载http://www.limou.net/?p=120 NAT设备的类型对于TCP穿越NAT,有着十分重要的影响,根据端口映射方式,NAT可分为如下4类,前3种NAT类...

2012-04-06 10:46:53

阅读数:4084

评论数:0

linux中的线程屏蔽码和进程屏蔽码

1. 在主线程中屏蔽 SIGUSR1信号  2. 再creat两个子线程write 和 read,在write线程中取消SIGUSR1的屏蔽。 3. 这样 通过 其它进程向此进程发来 SIGUSR1信号将由 write线程接受 sigprocmask 是改变整个进程的信号屏蔽 p...

2012-04-05 09:48:01

阅读数:2053

评论数:0

linux UDP编程学习总结

与TCP的不同 使用TCP套接口必须先要建立连接,而UDP套接口不需要预先建立连接,它在调用socket()生成一个套接口后,在服务器端调用bind()绑定端口,服务器阻塞于recvfrom()调用,客户端调用sendto()发送数据请求,阻塞于recvfrom()调用,服务器端调用recvfr...

2012-04-04 19:38:39

阅读数:909

评论数:0

长连接和心跳包

第一种设置:通过设置socket的keepalive属性 #include    "/usr/include/linux/tcp.h" #include "/usr/include/linux/socket.h" ////KeepAlive实现,单位秒...

2012-04-04 19:38:00

阅读数:8547

评论数:2

长连接与短连接

长连接与短连接 所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持。此种方式常用于P2P通信。 所谓短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,...

2012-04-04 16:24:18

阅读数:1615

评论数:0

IP数据包长度问题总结

这篇文章总结的不错,转自:http://hi.baidu.com/to_wait/blog/item/3e855931a5a51717eac4af22.html 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。    其中以太网(Ethernet)的数据帧在链路层  ...

2012-04-04 15:44:25

阅读数:512

评论数:0

TCP/IP 应用程序的通信连接模式

socket连接超时的问题讨论区:http://www.chinaunix.net/jh/23/136566.html       TCP/IP 应用程序的通信连接模式 2011年05月06日 星期五 17:42 ...

2012-03-31 17:56:01

阅读数:426

评论数:0

关于socket阻塞与非阻塞情况下的recv、send、read、write返回值

1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:返回值  2、阻塞模式与非阻塞模式下write的返回值各代表什么意思?有没有区别? 阻塞与非阻塞write返回值没有区分,都是 0发送数...

2012-03-31 09:09:27

阅读数:682

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭