- 博客(14)
- 资源 (5)
- 收藏
- 关注
原创 函数适配器
#include #include #include #include #include using namespace std;class Person{ public: Person(const string &name):name_(name) {} void Print() const { cout<<name_<<endl; }
2016-05-13 17:12:00 591
原创 函数对象
#include #include #include using namespace std;class FunObj{ public: void operator()() { cout<<"hello world\n"; } void operator()(int n)
2016-05-13 13:26:29 383
原创 ptr_vector
#ifndef __INCLUDE_PTR_VECTOR_H__#define __INCLUDE_PTR_VECTOR_H__#include #include using namespace std;template class ptr_vector : public std::vector{ public: ~ptr_vector()
2016-05-12 16:45:37 704
原创 模板(四)
#ifndef __INCLUDE_SINGLETON_H__#define __INCLUDE_SINGLETON_H__#include #include #include using namespace std;templateclass Singleton{ public: static T & GetInstance() {
2016-05-11 16:49:43 346
原创 模板(三)
#ifndef __INCLUDE_STACK_H__#define __INCLUDE_STACK_H__#include #include #include #include #include using namespace std;template >class Stack{ public: Stack(); ~Stack()
2016-05-11 15:11:19 398
原创 模板(二)
#ifndef __INCLUDE_STACK_H__#define __INCLUDE_STACK_H__#include #include #include #include using namespace std;templateclass Stack{ public: Stack(int maxSize); ~Stack();
2016-05-11 14:00:33 424
原创 套接字
#include #include #include #include #include #include #include #include #define DEF_STD_ERROR (-1)#define DEF_BIND_PORT (12455)#ifndef TRUE#define TRUE 1#define FALSE 0#define BOOL in
2016-05-07 09:03:11 622
原创 消息队列
//消息队列//msg.c#include #include #include #include #include #include #include #include #include #define DEF_MAX_PATH ("./SHM")#define DEF_STD_ERROR (-1)#define DEF_MSG_SIZE (1024)enum{
2016-05-07 09:02:28 448
原创 共享内存
//共享内存//shm.c#include #include #include #include #include #include #include #include #include #define DEF_MAX_PATH ("./SHM")#define DEF_STD_ERROR (-1)#define DEF_SHM_SIZE (1024)int mai
2016-05-07 09:01:53 783
原创 信号
//信号#include #include #include #include #include void handler(int signal_num){ switch(signal_num) { case SIGINT: { print
2016-05-07 09:00:49 491
原创 有名管道
//命名管道特点://1.如果打开管道的一方仅以读或写的方式打开管道,必须需要另一方的介入,管道才能打开//双方都调用open//可以一方打开,以读写的方式打开open(DEF_FIFO_PATH,O_RDWR)//发送少量简单无格式的数据//双方读写都存在,才能打开管道//计时性存储数据//2.存在的文件//3.单向写入,单向写出//问答形式#include #inclu
2016-05-07 09:00:14 959
原创 匿名管道
//匿名管道//实现父子进程间的进程通信//发送简单少量无格式数据#include #include int main(){ pid_t child; int fd[2]; int iRead; int iWrite; //create pipe pipe(fd); //c
2016-05-07 08:59:21 698
原创 线程进程通信和同步方式
Windows线程间同步:原子锁(windows独有的),临界区,互斥量,信号量,事件(后面三个是内核)Windows线程间通信:全局变量,发消息(向线程发消息,向窗口发消息)Linux线程进同步:互斥锁,条件变量,信号量(POSIX标准的信号量)Linux进程间通信:管道,信号,信号量(和Linux线程的不同),共享内存,映射内存,消息队列,套接字
2016-05-07 08:51:38 421
原创 条件变量和原子型式
一.std::condition_variable类必须与std::unique_lock配合使用std::condition_variable_any类更加通用的条件变量,可以与任意型式的互斥锁配合使用,相比前者使用时会有额外的开销多线程通信同步原语阻塞一个或多个线程至收到来自其他线程的通知,超时或发生虚假唤醒两者具有同样的成员函数,且在等待条件变量前都必须要获得相应的锁二.成员函
2016-05-03 12:47:18 474
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人