05 2018 档案
定时器
摘要:io_service的任务执行流程:调用run方法,进入主loop;判断公有队列是否为空,不为空则取出任务并执行,当任务数大于1时同时唤醒其他空闲线程;任务执行结束,把各个线程的私有队里面的任务移动到公有任务队列里面。触发reactor,linux下面一般是epoll,当有事件时,把相应的事件的任务
阅读全文
同步socket处理
摘要:1.socket类是TCP通信的基本类,调用成员函数connect()可以连接到一个指定的通信端点,连接成功后用local_endpoint()和remote_endpoint()获得连接两端的端点信,用read_some()和write_some()阻塞读写数据,当操作完成后使用close()函数
阅读全文
future
摘要:thread库使用future范式提供了一种异步操作线程返回值的方法,因为这个返回值在现场开始执行时还是不可用的,是一个未来的期待值,所以被称为future。future使用packaged_task和promise两个模板类来包装异步调用,用unique_future和shared_future来
阅读全文
共享互斥量
摘要:共享互斥变量shared_mutex允许线程获取多个共享所有权和一个专享所有权,即多个读进程一个写进程。读锁定时使用boost::shared_lock<boost::shared_mutex>,写锁定时使用boost::unique_lock<boost::shared_mutex>。
阅读全文
条件变量
摘要:条件变量是thread库提供的一种用于等待的同步机制,可以实现线程间的通信,它必须与互斥量配合使用,等待另一个线程中某个事件的发生(满足某个条件),然后线程才能继续执行。 thread库提供两种条件变量对象condition_variable和condition_variable_any,一般情况下
阅读全文
线程
摘要:thread库位于名字空间boost,为了使用thread库需要包含头文件<boost/thread.hpp>。 thread对象是不可拷贝的。 当成功创建一个thread对象后,线程就立刻开始执行。 运行截图:
阅读全文
变量和基本类型——复合类型,const限定符,处理类型
摘要:一、复合类型 复合类型是指基于其他类型定义的类型。C++语言有几种复合类型,包括引用和指针。 1、引用 引用并非对象,它只是为一个已存在的对象所起的另外一个名字。 除了以下2种情况,其他所有引用的类型要和与之绑定的对象严格匹配,引用只能绑定在对象上,不能与字面值或某个表达式的计算结果绑定在一起。引用
阅读全文
变量和基本类型——基本内置类型,变量
摘要:一、基本内置类型 C++定义了一套包括算术类型和空类型在内的基本数据类型。其中算术类型包含了字符、整型数、布尔值和浮点数。空类型不对应具体的值,仅用于一些特殊场合,例如,当函数不返回任何值时使用空类型作为返回类型。 1、算术类型 算术类型分为两类:整型(包括字符和布尔类型在内)和浮点数。 算术类型的
阅读全文
char和varchar、浮点数和定点数
摘要:cmd连接mysql数据库:找到mysql目录,进入到bin目录,然后在命令行中输入 mysql -hlocalhost -uroot -ppass ,连接mysql数据库成功。 1、char和varchar的区别:char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,mysql就
阅读全文
浙公网安备 33010602011771号