上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 30 下一页
摘要: 锁 01 std::unique_lock对mutex进行自动加解锁, 比lock_guard更加灵活。 mutex m; void fun() { // std::try_to_lock 可以避免一些不必要的等待,会判断当前mutex能否被上锁,如果不能被lock,可以先去执行其他代码。 std: 阅读全文
posted @ 2018-12-09 19:21 osbreak 阅读(360) 评论(0) 推荐(0) 编辑
摘要: C++11中新增了,Mutex互斥量, 它是C++标准程序库中的一个头文件。std::mutex不支持copy和move操作,最初的std::mutex对象是处于unlocked状态。 Mutex 系列类(四种) std::mutex,最基本的 Mutex 类。 std::recursive_mutex,递归 Mutex 类。 std::time_mutex,... 阅读全文
posted @ 2018-12-09 19:06 osbreak 阅读(1200) 评论(0) 推荐(0) 编辑
摘要: #include 头文件std::thread为C++11的线程类,使用方法和boost接口一样,非常方便。 C++11的std::thread解决了boost::thread中构成参数限制的问题。 获得主线程ID: std::this_thread::get_id() 获得线程ID: std::thread::get_id(); 获得当前多少个线程: std::thread::ha... 阅读全文
posted @ 2018-12-08 14:32 osbreak 阅读(228) 评论(0) 推荐(0) 编辑
摘要: std::bind bind函数看作是一个通用的函数适配器。 它接受一个可调用对象,生成一个新的可调用对象来“适应”原对象的参数列表。 void fun(int x, int y, int z) { cout<< x <<" "<< y <<" "<< z <<endl; } 01 绑定参数 aut 阅读全文
posted @ 2018-12-06 23:52 osbreak 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 函数指针 函数返回值类型 (* 指针变量名) (参数列表) int (*p) (int, int) 指针函数 *类型标识符 函数名 (参数表) int *p (int, int) 区分方法 1. 函数名前面的指针*号有没有被括号()包含,如果被包含就是函数指针,反之则是指针函数。 2.()的优先级比 阅读全文
posted @ 2018-12-06 23:17 osbreak 阅读(314) 评论(0) 推荐(0) 编辑
摘要: IO模型 io_service对象是asio框架中的调度器,所有异步io事件都是通过它来分发处理的(io对象的构造函数中都需要传入一个io_service对象)。 asio::io_service io_service; asio::ip::tcp::socket socket(io_service); io_servuce的作用: io_servie 实现了一个任务队列,这里的任务... 阅读全文
posted @ 2018-12-06 00:00 osbreak 阅读(1636) 评论(0) 推荐(0) 编辑
摘要: 多线程同步回调#include #include #include #include #include #include using namespace boost; using namespace std; class CPrinter { public: CPrinter(boost::asio::io_service &io) :m_strand(... 阅读全文
posted @ 2018-11-28 23:46 osbreak 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 同步定时器 #include #include #include #include int main() { boost::asio::io_service io; boost::asio::deadline_timer t(io, boost::posix_time::seconds(5)); t.wait();//同步定时器,5后被调用 std::cout #incl... 阅读全文
posted @ 2018-11-27 22:11 osbreak 阅读(420) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include #include #include #include #include #include #include #define BUF_SIZE 1024 void aio_completion_handler(sigval_t s... 阅读全文
posted @ 2018-11-19 23:19 osbreak 阅读(473) 评论(0) 推荐(0) 编辑
摘要: #include /* 函数名 :int aio_write(struct aiocb *aiocbp) 参 数 :struct aiocb *aiocbp 返回值 :执行成功返回0,出错返回-1,并设置errno的值 说 明 :请求对一个有效的文件描述符进行异步读操作, 这个文件描述符可以表示一个文件、套接字甚至管道 */ int aio_write(... 阅读全文
posted @ 2018-11-19 23:10 osbreak 阅读(252) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 30 下一页