学习
文章平均质量分 71
shamofeiyu
这个作者很懒,什么都没留下…
展开
-
多线程编程中,将线程绑定到指定CPU
参考网络上的资料,具体出处忘了,亲测可以在多核处理上,处理大数据业务时,有时为了对线程资源有更好的控制,需要将一些核心处理线程绑定到指定的CPU核上,pthread库就提供这样的接口。大概封装了一下,在线程函数中调用就可以了int bind2cpu(int cpu_index){ cpu_set_t set; cpu_set_t get; int cpu_num = sys原创 2012-08-10 16:20:24 · 1992 阅读 · 0 评论 -
DirectFB的接口详解 及在ubuntu下使用方法记录
文章转自:http://blog.csdn.net/yinjiabin/article/details/76740531. 概述 ================ 本文主要研究DirectFB及其向上向下的接口,顺带讲一下QT搭配DirectFB使用的一些笔记。 其他,如DirectFB的内部结构、Qt的内部结构、及其他GUI系统如android不在本转载 2013-04-13 17:15:39 · 2170 阅读 · 0 评论 -
浮点型数据存储方式分析
文章转自:http://blog.chinaunix.net/uid-20937170-id-3396073.html============================================================================================================================ 笔试转载 2013-03-31 18:19:26 · 1221 阅读 · 0 评论 -
线程池C++实现(转)
这个一个实现线程池的C++类,忘了从哪个网站上copy了,感觉挺好用ThreadPool.h/* Thread Pool implementation for unix / linux environments Copyright (C) 2008 Shobhit Gupta This program is free software: you can r转载 2013-02-28 17:25:52 · 774 阅读 · 0 评论 -
网络数据捕获之PF_RING
Linux环境下需要监听网络数据最简单的可以使用SOCK_RAW原始套接字或者直接调用专门进行网络抓包的库接口libpcap,但是是针对千兆网数据捕获就会有瓶颈,而且随着数据流量的增大捕获主机的CPU会有很大的负担,本人曾亲测使用原始套接字进行千兆网数据捕获评测,i7服务器主机,网络数据全是1400Byte大包,码率加到600Mbps左右就会出现间歇性丢包(丢包通过在发包端对数据打上连原创 2013-03-09 10:51:22 · 3088 阅读 · 2 评论 -
实现读写无加锁的不定长的数据环形缓冲
在很多情况下需要用到多线程编程,而多线程很多时候要用到生产者、消费者模型,比如处理网络数据,至少需要一个数据接收线程进行网络数据的接收,但一般不会也在该线程中进行数据的处理,因为这处理可能会比较耗时,而网络数据底层缓冲多比较小,处理不及时就会造成数据丢失,这就需要接收线程响应尽可能的快速,一般为接收数据然后将数据放入缓冲中,而数据处理线程则对数据缓冲进行读取数据然后再处理。这就是典型的生产者和消费原创 2013-03-03 14:54:22 · 1709 阅读 · 0 评论 -
Linux网络数据捕获之原始套接字
处于一些目的,有时需要对到达网口的所有网络数据进行捕获,系统也提供了这样的接口,稍微懂网络编程的都知道SOCK_DGRAM、SOCK_STREAM,差不多就UDP、TCP之类的吧。但是还有一个很少用的叫SOCK_RAW,原始套接字,使用它你可以捕获网卡上的所有网络数据,当然这需要超级用户权限。贴个列子吧,网上摘的,具体出处忘了#include #include #include #inc原创 2012-08-11 16:39:28 · 1500 阅读 · 0 评论 -
Linux基本网络设置(IP配置等,网卡驱动缓存,网卡中断)
都是一些很基本的设置,但是长时间不使用老是会忘,好记性不如烂笔头,在此记录一下吧1.简单配置a.修改IP地址和掩码ifconfig eth0 192.168.0.100 netmask 255.255.255.0b.修改网关,对于多网卡多网段的机器,需要配置一个默认网关route add default gw 192.168.0.1 dev eth0c.修改DNS,域名原创 2012-08-11 16:05:54 · 4358 阅读 · 0 评论 -
Linux环境下获取网卡连接状态
在嵌入式项目中,有时需要获取设备本身的一些运行信息,网口的连接状态就是其中之一,这还真不太好弄,网上查了一下资料,整理了一下,pIfName为网口名称,比如eth0,返回1为连接,0为断开。int getNetLinkStates(const char *pIfName){ int skfd; struct ifreq ifr; struct ethtool_value edata原创 2012-08-11 15:21:10 · 1282 阅读 · 0 评论 -
Tips of Linux C programming
文章转自 淘宝核心团队博客 http://rdc.taobao.com/blog/cs/?p=16751. 优雅地使用链表 链表是编程中经常要用到的数据结构,结构体描述时分为数据域和指针域,本没有什么好讲。但有没有想过教科书上的这种方式有什么问题?通过这种方式定义和使用链表,对于不同的链表类型,都要定义各自的链表结构,繁琐的很。linux kernel中链表的用法才应转载 2013-05-17 10:24:41 · 715 阅读 · 0 评论