- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 简单的工厂模式+一个抽象接口
template class CSingleton { private: static T m_oObj; public: static T& Instance() { return m_oObj; } }; template T CSingleton::m_oObj; #define SING
2014-03-31 19:56:34 379
原创 类的默认构造函数,赋值构造函数,拷贝构造函数
#include using namespace std; class String { public: String(const char *str) { if(str==NULL) { m_data=new char[1]; *m_data='\0'; m_size=0; } else { int length=strlen(str); m_data=new c
2014-03-27 10:59:07 694
原创 复制构造函数
拷贝构造函数的标准写法如下: class Base { public: Base(){} Base(const Base &b){..} // } 上述写法见得最多,甚至你认为理所当然。 那么如果我们不写成引用传递呢,而是值传递,那么会怎样? class Base { public: Base(){} Base(const Base b)
2014-03-26 19:59:04 409
原创 Epoll服务器架构
#include iostream> #include sys/socket.h> #include sys/epoll.h> #include netinet/in.h> #include arpa/inet.h> #include fcntl.h> #include unistd.h> #include stdio.h> #include errno.h> using n
2014-03-08 15:29:42 476
原创 container_of宏_共享内存
1.container_of宏 1> Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。 2>接口: container_of(ptr, type, member) ptr:表示结构体中member的地址 type:表示结构体类型 membe
2014-03-08 14:45:49 373
转载 互斥量+信号量
生产者线程用于往链表里添加节点,数个工作线程从链表取出节点并处理。对于一般的mutex_lock,mutex_unlock方式,如果这一段时间没有工作,那么工作线程将会不停的调用lock,unlock操作。而这样的操作毫无疑义。 在这里系统给我们提供了另外一种同步机制,信号灯,Semaphore。 信号灯其实就是一个计数器,也是一个整数。每一次调用wait操作将会使semaphore值
2014-03-02 23:38:04 433
原创 Unix同步+互斥量
#include #include #include #include #include static pthread_mutex_t mtx = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t cond = PTHREAD_COND_INITIALIZER; struct node { int n_
2014-03-02 23:00:56 484
原创 Unix互斥量
/** * Author: ACb0y * FileName: main.cpp * CreateTime: 2011-10-12 23:19:34 * Version: 1.0 */ #include #include #include "apue.h" #include "err_msg.h" using namespace std; struct
2014-03-01 17:50:48 513
原创 Unix使用互斥量保护数据结构
#include #include struct foo { int f_count; pthread_mutex_t f_lock; /* .. more stuff here ... */ }; struct foo* foo_alloc() { struct foo *fp; if ((fp = (struct foo*)m
2014-03-01 16:54:04 697
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人