异步架构
懵圈丰
这个作者很懒,什么都没留下…
展开
-
日志系统的实现方式
linux下可运行日志系统的头文件#ifndef sysRecord_h#define sysRecord_h#include #include #include using namespace std;class sysRecord{public:ofstream m_file;time_t m_time_ptr;sysRecord();~原创 2015-08-11 20:13:28 · 1432 阅读 · 0 评论 -
基于消息机制的异步架构之消息队列
消息队列的头文件msgqueue.h/* * msgqueue.h * */#ifndef MSGQUEUE_H_#define MSGQUEUE_H_#include "conn.h"#define MAX_MSG_LENGTH (1024)typedef struct MSG {ch原创 2015-08-11 20:09:22 · 1446 阅读 · 0 评论 -
基于消息机制的异步架构之回调函数注册
/* * akg.h * 业务逻辑注册 * */#ifndef AKG_H_#define AKG_H_#include "conn.h"#include "msgqueue.h"#define MAX_PKG_TYPE (0xffff)extern const ui原创 2015-08-11 20:27:40 · 1538 阅读 · 0 评论 -
基于消息机制的异步架构之对消息队列的处理
/* * handle.h */#ifndef HANDLE_H_#define HANDLE_H_#include "msgqueue.h"typedef struct HANDLER{int send_sock;char send_ip[128];uint16 send_port;int ind;pthread_t th原创 2015-08-11 20:35:20 · 2988 阅读 · 0 评论 -
c++11条件变量的使用,condition_variable
void thread_prepare(int T){std::lock_guard lk(mt);data_queue.push(T);data_con.notify_one();}void thread_process(){while(1){std::unique_lock lk(mt);data_con.wait(lk,[]{return !data_queue.原创 2015-11-26 15:55:24 · 2203 阅读 · 0 评论 -
在一个多线程系统中,主进程应该写什么?
在一个多线程的系统中,主线程应该不占资源,而且不应该结束。遵循此原则,在c++的系统中,用c++11的代码实现在主线程中等待主线程被唤醒,且不结束。#include #include std::mutex m_wt; std::unique_lock lk(m_wt); std::condition_variable wt;//在主线程结束之前 wt.wait(lk);原创 2015-12-02 10:52:13 · 1090 阅读 · 0 评论