c/c++
sumkee911
这个作者很懒,什么都没留下…
展开
-
c++ 封装哈希表(Hash) 以及实现迭代器(iterator)
程序功能:1.封装哈希表(Hash)2.以及实现了迭代器(iterator)3.允许string类,整形变量,浮点形变量,字符型变量等作为key值废话不多说,马上上源码Hash.h/* * Name: Hash * Date: 14-12-2015 * Author: Sumkee * Brief: 哈希模组 * 1.能把strin原创 2015-12-16 13:06:09 · 3579 阅读 · 0 评论 -
linux c++下将pthread封装成threadpool(线程池)
threadpool主要有4個函數:1.init() 初始化線程池,線程數量自己定2.destroy() 銷燬線程池,所有線程會被立即銷燬3.add_event() 增加事件到線程池中,以及喚醒線程作處理4.thread_process() 這個函數識static的,就是用來做線程的回調函數,線程們就是在這裏等待喚醒處理事件threadpool.h/* * Name:原创 2015-12-09 09:27:16 · 3767 阅读 · 0 评论 -
liunx c语言制作 微型web服务器 300行代码
参考:“深入理解计算机系统” 第663页web简介:web服务器其实就是用来响应浏览器(客户端)的请求,他们之间的通讯都遵循着HTTP协议。HTTP请求格式是 ,有GET,POST,PUT等等,其中用得最为广泛得是GET请求,占全世界所有HTTP请求的99%;说白了就是文件的路径,比如index.html。如果你用浏览器输入http://127.0.0.1/index.html,它就会原创 2015-12-18 15:03:52 · 2811 阅读 · 2 评论 -
linux c++ 利用timerfd和epoll封装计时器(Timer)类
程序简介:1.把timerfd和epoll的功能封装成一个类,timerfd负责创建计时器,而epoll负责等待timer超时,然后调用用户设定得回调函数。2.至于timerfd的基本功能不明白,就参考这位大神的技术文章:blog.csdn.net/chgaowei/article/details/212958113.至于epoll的基本功能不明白,就参考这位大神得技术文章:blog.原创 2015-12-11 21:52:38 · 7219 阅读 · 1 评论 -
linux c语言 重定向子进程的stdout(标准输出)
程序简介:1.建立有名管道2.在子進程里打开寫端,以及利用dup2()函數將stdout重定位到有名管道3.跟着在子進程里使用execl()函數調用/bin/ls4.在父進程里打開讀端,讀取子進程裏的標準輸出數據,也就識/bin/ls輸出得數據#include #include #include #include #include #include #原创 2015-12-09 16:40:44 · 9971 阅读 · 0 评论 -
linux c 生产者与消费者问题 信号量(sem_t)
参考:“深入理解计算机系统” 第670页信号量:信号量提供两种特殊得操作P(s)与V(s)。P(s):如果s为非零,P将s减一,然后立即返回。如果s为零,那么就挂起线程,直到s变为非零,而V操作会重启这条线程。在重启之后,P操作将s减1,并将控制权返回给调用者。V(s):V操作将s加1。如果有任何线程P等待s变为非零的话,那么V就会重启其中一条线程,然后将程序的s减一,原创 2015-12-16 21:06:05 · 5913 阅读 · 0 评论