关于boost::asio相关的网络如何正确退出的问题探讨

VC/MFC > 基础类 [问题点数:100分]
等级
本版专家分:2520
结帖率 96.08%
等级
本版专家分:362765
勋章
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Blank
名人 2019年 荣获名人称号
2013年 荣获名人称号
Blank
探花 2011年 总版技术专家分年内排行榜第三
2010年 总版技术专家分年内排行榜第三
Blank
进士 2012年 总版技术专家分年内排行榜第五
等级
本版专家分:2520
等级
本版专家分:87700
勋章
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
等级
本版专家分:29717
等级
本版专家分:2520
等级
本版专家分:2520
等级
本版专家分:29717
等级
本版专家分:20879
勋章
Blank
红花 2014年11月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2015年1月 VC/MFC大版内专家分月排行榜第二
等级
本版专家分:18941
勋章
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
关于boost asio问题

这两天在review客户端NetworkClient的代码, ...boost::io_serivice 需要有个io_service::work来keep住, 如果没有work,在一次启动的时候io线程是正常运行的(所以之前一直没有什么问题,因为我客户端只做一次连接

boost学习】之boost::asio(5)——io_service::run函数无任务时退出问题

io_service::work类可以使io_service::run函数在没有任务的时候仍然不返回,直至work对象被销毁。 ...void test_asio_nowork() ... boost::asio::io_service ioser; cout[test_asio_nowork

网络编程 - boost::asio优雅的退出

boost::asio算是一个比较成熟的网络库,不过在某些方面在异步上的接口实现却不是很友好,感觉官方的很多文档描述的都太简单了,甚是忧伤。  回归正题,最近一直在研究asio的关闭流程,发现相关的信息确实不多。简单...

boost asio退出机制

在使用boost时,使用异步模式多线程. 程序退出时有一个坑. 就是存在一种情况, 当网络模块释放资源后, 一些收发函数还在做处理. 如果收发函数使用了网络模块里面的资源. 那么就会出现内存泄漏问题. 所以一个解决办法...

boost asio程序优雅的退出

当程序能够拦截kill进程的信号,然后清理资源再退出进程时,就是优雅的退出boostasio提供了这个机制。下面用最少的代码演示了这个功能:#include #include #include #include using namespace boost; using...

多线程服务器的常用编程模型

多线程服务器的常用编程模型 陈硕 (giantchen_AT_gmail)Blog.csdn.net/Solstice2009 Feb 12 建议阅读本文 PDF 版下载: http://files.cppblog.com/Solstice/multithreaded_server.pdf 本文主要讲我个人在多...

boost::thread简要分析(2):线程同步

除了thread,boost::thread另一个重要组成部分是mutex,以及工作在mutex上的boost::mutex::scoped_lock、condition和barrier,这些都是为实现线程同步提供的。 mutex boost提供的mutex有6种: boost::mutex ...

多线程网络通信

最近写一个多线程的网络通信DLL,原来认为自己的网络通信这一方面水平即使不是杠杠滴,也得当当滴,至不成也得忽忽滴。结果真得一写起来,发现很多东西都吃不透,都懂,都明白大其概,但真正应用哪种更好,哪...

使用 Boost 的 IPC 和 MPI 库进行并发编程

使用非常流行的 Boost 库进行并发编程非常有意思。Boost 有几个用于并发编程领域的库:Interprocess (IPC) 库用于实现共享内存、内存映射的 I/O 和消息队列;Thread 库用于实现可移植的多线程;Message Passing ...

多线程服务器模型

本文主要讲我个人在多线程开发方面的一些粗浅经验。总结了一两种常用的线程模型,归纳了进程间通讯与...文中的“多线程服务器”是指运行在 Linux 操作系统上的独占式网络应用程序。硬件平台为 Intel x64 系列的多

文章收录1

3.Hive Metastore 代码简析 4.受限的玻尔兹曼机 5.以公司实际应用讲解OpenStack到底是什么 ...7.vpsmate安装完再重启服务器,vpsmate不无再次打开的解决...9.关于集群技术的几个新工具的介绍 10.CHD4 impa...

游戏服务器结构探讨

原文地址:http://blogold.chinaunix.net/u/1129/showart_397768.htmlhttp://bbs.gameres.com/showthread.asp?threadid=93775 有关游戏开发:游戏开发始终是个小项目,另外由于开发时间的限制,软件工程的思想和...

服务器架构设计

1、服务器结构探讨 -- 最简单的结构  所谓服务器结构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,结构本无所谓正确与错误;当然,优秀的结构更有助于系统的搭建,对系统的可扩展性及...

多线程编程模式

文中的“多线程服务器”是指运行在 Linux 操作系统上的独占式网络应用程序。硬件平台为 Intel x64 系列的多核 CPU,单路或双路 SMP 服务器(每台机器一共拥有四个核或八个核,十几 GB 内存)

多线程服务器

陈硕

Centos6-防火墙的基本配置

1.iptables启动指令: service iptables start重启指令: service iptables restart关闭指令: service iptables stop保存指令: service iptables save相关配置: /etc/sysconfig/iptables2.操作: vim /etc/sysconfig/...

多线程服务器的常用编程模型——陈硕

陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2009 Feb 12   ... ...本文主要讲我个人在多线程开发方面的一些粗浅经验。总结了一两种常用的线程模型,归纳了进程间通讯与线程同步的最佳实践

游戏服务器架构探讨

要描述一项技术或是一个行业,一般都会从...一来算是敦促自己对知识做个梳理,二来与大家探讨的过程也能够找到我之前学习的不足和理解上的错误,最后呢,有可能的话也跟业内的同行们混个脸熟,哪天要是想换个工作了也好

游戏服务器通用架构

这里讨论的游戏服务器架构大概是目前国内乃至世界上的网游通用的一种架构了: ... 作者:qinglan 有段时间没有研究技术了,这次正好看到了新版的mangos,较之以前我

多线程的网络通信

最近写一个多线程的网络通信DLL,原来认为自己的网络通信这一方面水平即使不是杠杠滴,也得当当滴,至不成也得忽忽滴。结果真得一写起来,发现很多东西都吃不透,都懂,都明白大其概,但真正应用哪种更好,哪种更...

百万用户级游戏服务器架构设计

服务器结构探讨 -- 最简单的结构  所谓服务器结构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,结构本无所谓正确与错误;当然,优秀的结构更有助于系统的搭建,对系统的可扩展性及可...

百万用户级游戏服务器架构设计与游戏视频开发平台源码分享

服务器结构探讨 -- 最简单的结构   所谓服务器结构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。所以,结构本无所谓正确与错误;当然,优秀的结构更有助于系统的搭建,对系统的可扩展性及可...

其实一切与游戏无关--yy笔录+转载网络游戏服务器设计

严格的说,我从来没有玩过网络游戏,对于网游的理解仅限于大学时其他室友之间关于魔兽世界的经验交流。曾经yy过网游的后台实现方法,但现在回想起来那时的想法确实幼稚的很。两个月打酱油般的工作当中给我最深的体会...

IBM文章使用 Boost 的 IPC 和 MPI 库进行并发编程

Boost C++ 库让并发编程变得既简单又有趣。学习如何使用两个 Boost 库 —— Interprocess (IPC) 库和 Message Passing Interface (MPI) 实现共享内存对象、同步文件锁和分布式通信等功能。 ...

设计游戏服务器

有段时间没有研究技术了,这次正好看到了新版的mangos,较之以前我看的版本有了比较大的完善,于是再次浏览了下他的代码,也借此机会整理下我在游戏服务器开发方面的一些心得,与大家探讨。  另外由于为避免与...

QT实战之监控回看系统

本课程基本Qt for windows平台下开发的监控回看界面程序,通过选择界面上的时间和日期可以准确定位观看过去的某一年某一日某个时刻的监控画面,支持对接第三方海康设备的功能,同时也能对于学习QT有很大的帮助。 学会对接第三方设备,学会QT开发,学会界面布局,学会界面设计。

Android开发精典案例60个【源码】

60个Android开发精典案例,好东西 - 给大家分享60个Android开发的精典案例,包含任务监听、设备适配,游戏框架搭建,特效实现,多点触控,网络协议,游戏关卡设置等内容。特别是做游戏开发的朋友值得研究。喜欢就拿走吧!

Java经典编程300例(code)

目 录 第1章 Java语言概述 1 实例001 输出“Hello World” 2 实例002 输出控制台传递的参数 2 实例003 输出由“*”组成的三角形 3 实例004 输出符号表情 5 第2章 Eclipse开发工具 6 实例005 下载并运行Eclipse工具 7 实例006 为Eclipse安装汉化包 8 实例007 使用Eclipse注释代码 10 实例008 使用Eclipse格式化代码 11 实例009 安装WindowBuilder插件 12 实例010 开发计算器界面 14 第3章 Java语言基础 15 实例011 输出错误信息与调试信息 16 实例012 从控制台接收输入字符 16 实例013 重定向输出流实现程序日志 17 实例014 自动类型转换与强制类型转换 19 实例015 加密可以这样简单(位运算) 20 实例016 用三元运算符判断奇数和偶数 21 实例017 不用乘法运算符实现2×16 22 实例018 实现两个变量的互换 (不借助第3个变量) 23 第4章 流程控制 25 实例019 判断某一年是否为闰年 26 实例020 验证登录信息的合法性 27 实例021 为新员工分配部门 28 实例022 用switch语句根据消费 金额计算折扣 29 实例023 判断用户输入月份的季节 31 实例024 使用while循环语句与自增 运算符循环遍历数组 33 实例025 使用for循环输出杨辉三角形 34 实例026 使用嵌套循环在控制台上 输出九九乘法表 35 实例027 使用while循环计算1+ 1/2!+1/3!…1/20! 36 实例028 使用for循环输出空心的菱形 38 实例029 终止循环体 39 实例030 循环体的过滤器 41 第5章 数组及其常用操作 43 实例031 获取一维数组的最小值 44 实例032 将二维数组中的行列互换 45 实例033 利用数组随机抽取幸运观众 47 实例034 用数组设置JTable表格的 列名与列宽 49 实例035 使用按钮控件数组实现 计算器界面 51 实例036 通过复选框控件数组实现 添加多个复选框控件 52 实例037 使用选择排序法对数组排序 53 实例038 使用冒泡排序法对数组排序 55 实例039 使用快速排序法对数组排序 57 实例040 使用直接插入法对数组排序 59 实例041 使用sort()方法对数组排序 61 实例042 反转数组中元素的顺序 63 第6章 面向对象入门 65 实例043 自定义图书类 66 实例044 温度单位转换工具 67 实例045 成员变量的默认初始化值 68 实例046 单例模式的应用 69 实例047 汉诺塔问题求解 70 实例048 编写同名的方法 71 实例049 构造方法的应用 72 实例050 统计图书的销售量 73 实例051 两只完全相同的宠物 74 实例052 重新计算对象的哈希码 76 实例053 使用字符串输出对象 77 实例054 Java对象的假克隆 78 实例055 Java对象的浅克隆 80 实例056 Java对象的深克隆 82 实例057 序列化与对象克隆 84 实例058 深克隆效率的比较 87 第7章 面向对象进阶 89 实例059 经理与员工的差异 90 实例060 重写父类中的方法 92 实例061 计算几何图形的面积 93 实例062 简单的汽车销售商场 95 实例063 使用Comparable接口自定 义排序 96 实例064 策略模式的简单应用 98 实例065 适配器模式的简单应用 100 实例066 普通内部类的简单应用 102 实例067 局部内部类的简单应用 103 实例068 匿名内部类的简单应用 104 实例069 静态内部类的简单应用 105 实例070 实例化Class类的几种方式 107 实例071 查看类的声明 108 实例072 查看类的成员 110 实例073 查看内部类信息 112 实例074 动态设置类的私有域 113 实例075 动态调用类中方法 115 实例076 动态实例化类 116 实例077 创建长度可变的数组 117 实例078 利用反射重写toString()方法 119 第8章 字符串与包装类 121 实例079 将数字格式化为货币字符串 122 实例080 货币金额大写格式 123 实例081 String类格式化当前日期 125 实例082 字符串大小写转换 126 实例083 字符与Unicode码的转换 128 实例084 判断用户名是否正确 129 实例085 用户名排序 130 实例086 判断网页请求与FTP请求 132 实例087 判断文件类型 133 实例088 判断字符串是否为数字 135 实例089 验证IP地址的有效性 136 实例090 鉴别非法电话号码 137 实例091 将字符串转换成整数 139 实例092 整数进制转换器 140 实例093 获取字符串中汉字的个数 141 实例094 批量替换某一类字符串 142 实例095 查看数字的取值范围 144 实例096 ASCII编码查看器 145 实例097 判断手机号的合法性 146 实例098 用字符串构建器追加字符 147 实例099 去掉字符串中的所有空格 148 实例100 Double类型的比较 149 第9章 Java集合类框架 151 范例101 用动态数组保存学生姓名 152 实例102 用List集合传递学生信息 153 实例103 Map集合二级联动 155 实例104 不重复随机数组排序 157 实例105 for循环遍历ArrayList 159 实例106 Iterator遍历ArrayList 159 实例107 ListIterator逆序遍历ArrayList 160 实例108 制作电子词典 161 实例109 制作手机电话簿 162 第10章 常用数学工具类 164 实例110 角度和弧度的转换 165 实例111 三角函数的使用 166 实例112 反三角函数的使用 167 实例113 双曲函数的使用 168 实例114 指数与对数运算 169 实例115 高精度整数运算 170 实例116 高精度浮点运算 171 实例117 七星彩号码生成器 173 实例118 大乐透号码生成器 174 第11章 错误处理 177 实例119 算数异常 178 实例120 数组下标越界异常 179 实例121 空指针异常 180 实例122 类未发现异常 181 实例123 非法访问异常 182 实例124 文件未发现异常 183 实例125 数据库操作异常 184 实例126 方法中抛出异常 185 实例127 方法上抛出异常 186 实例128 自定义异常类 187 实例129 捕获单个异常 188 实例130 捕获多个异常 189 第12章 输入/输出 191 实例131 显示指定类型的文件 192 实例132 以树结构显示文件路径 193 实例133 查找替换文本文件内容 194 实例134 设置Windows系统的文件 属性 195 实例135 文件批量重命名 196 实例136 快速批量移动文件 197 实例137 删除文件夹中的.tmp文件 198 实例138 将图片文件保存到数据库 199 实例139 从数据库读取图片文件 200 实例140 窗体动态加载磁盘文件 201 实例141 删除文件夹中所有文件 202 实例142 创建磁盘索引文件 203 实例143 控制台记录器 205 实例144 防止创建多个字符串对象 206 实例145 合并多个文本文件 207 实例146 对大文件实现分割处理 208 实例147 将分割后的文件重新合并 209 实例148 读取属性文件单个属性值 210 实例149 向属性文件中添加信息 211 实例150 在复制文件时使用进度条 212 实例151 从XML文件中读取数据 213 实例152 读取Jar文件属性 214 实例153 电子通讯录 215 实例154 批量复制指定扩展名文件 217 实例155 分类保存文件 218 实例156 搜索指定文件夹中的文件 219 实例157 实现文件锁定功能 220 实例158 简单的投票软件 221 实例159 压缩所有文本文件 222 实例160 将压缩包解压到指定文件夹 223 实例161 压缩所有子文件夹 225 实例162 深层文件夹压缩包的释放 226 实例163 解决压缩包中文乱码 227 实例164 Apache实现文件解压缩 228 实例165 把窗体压缩成ZIP文件 229 实例166 解压缩Java对象 230 实例167 文件压缩为RAR文档 231 实例168 解压缩RAR压缩包 233 实例169 为RAR压缩包添加注释 234 实例170 获取压缩包详细文件列表 235 实例171 从RAR压缩包中删除文件 237 实例172 在压缩文件中查找字符串 238 实例173 重命名RAR压缩包中文件 239 实例174 创建自解压RAR压缩包 240 第13章 枚举类型与泛型 242 实例175 查看枚举类型的定义 243 实例176 枚举类型的基本特性 244 实例177 增加枚举元素的信息 245 实例178 选择合适的枚举元素 246 实例179 高效的枚举元素集合 248 实例180 高效的枚举元素映射 249 实例181 使用枚举接口遍历元素 250 实例182 使用泛型实现栈结构 251 实例183 自定义泛型化数组类 253 实例184 泛型方法与数据查询 254 实例185 使用通配符增强泛型 256 实例186 泛型化的折半查找法 257 第14章 Swing入门 259 实例187 从上次关闭位置启动窗体 260 实例188 始终在桌面最顶层显示窗体 261 实例189 设置窗体大小 262 实例190 根据桌面大小调整窗体大小 263 实例191 自定义最大化、最小化和 关闭按钮 265 实例192 禁止改变窗体的大小 267 实例193 指定窗体标题栏图标 267 实例194 设置闪烁的标题栏 269 实例195 实现带背景图片的窗体 270 实例196 背景为渐变色的主界面 271 实例197 随机更换窗体背景 273 实例198 椭圆形窗体界面 275 实例199 钻石形窗体 276 实例200 创建透明窗体 277 实例201 信息提示对话框 278 实例202 设置信息提示对话框的图标 279 实例203 指定打开对话框的文件类型 280 实例204 为保存对话框设置默认文件名 282 实例205 支持图片预览的文件选 择对话框 283 实例206 颜色选择对话框 285 实例207 信息输入对话框 286 实例208 定制信息对话框 287 实例209 拦截事件的玻璃窗格 289 实例210 简单的每日提示信息 290 实例211 震动效果的提示信息 292 实例212 制作圆形布局管理器 293 实例213 制作阶梯布局管理器 295 实例214 密码域控件简单应用 296 实例215 文本域设置背景图片 297 实例216 文本区设置背景图片 298 实例217 简单的字符统计工具 299 实例218 能预览图片的复选框 300 实例219 简单的投票计数软件 301 实例220 单选按钮的简单应用 302 实例221 能显示图片的组合框 303 实例222 使用滑块来选择日期 305 实例223 模仿记事本的菜单栏 308 实例224 自定义纵向的菜单栏 309 实例225 复选框与单选按钮菜单项 311 实例226 包含图片的弹出菜单 312 实例227 工具栏的实现与应用 314 实例228 修改列表项显示方式 315 实例229 列表项与提示信息 316 实例230 表头与列的高度设置 317 实例231 调整表格各列的宽度 319 实例232 设置表格的选择模式 321 实例233 为表头增添提示信息 323 实例234 单元格的粗粒度排序 325 实例235 实现表格的查找功能 326 实例236 应用网格布局设计计算 器窗体 327 第15章 多线程 329 实例237 查看线程的运行状态 330 实例238 查看JVM中的线程名 331 实例239 查看和修改线程优先级 333 实例240 休眠当前线程 335 实例241 终止指定线程 336 实例242 线程的插队运行 337 实例243 使用方法实现线程同步 339 实例244 使用特殊域变量实现线程同步 341 实例245 简单的线程通信 342 实例246 新建有返回值的线程 344 实例247 使用线程池优化多线程编程 346 实例248 哲学家的就餐问题 348 第16章 网络通信 350 实例249 获得内网的所有IP地址 351 实例250 获取网络资源的大小 352 实例251 解析网页中的内容 354 实例252 网络资源的单线程下载 355 实例253 网络资源的多线程下载 357 实例254 下载网络资源的断点续传 359 实例255 建立服务器套接字 362 实例256 建立客户端套接字 363 实例257 设置等待连接的超时时间 364 实例258 获得Socket信息 365 实例259 接收和发送Socket信息 367 实例260 关闭Socket缓冲 369 实例261 使用Socket通信 371 实例262 防止Socket传递汉字乱码 375 实例263 使用Socket传递对象 377 实例264 使用Socket传输图片 379 实例265 使用Socket传输音频 381 实例266 使用Socket传输视频 384 实例267 一个服务器与一个客户端 通信 385 实例268 一个服务器与多个客户端 通信 387 实例269 客户端一对多通信 389 实例270 客户端一对一通信 391 实例271 基于Socket的数据库编程 393 实例272 使用Proxy创建代理服务器 396 实例273 使用ProxySelector选择 代理服务器 397 实例274 聊天室服务器端 399 实例275 聊天室客户端 401 第17章 数据库操作 405 实例276 JDBC连接MySQL数据库 406 实例277 连接SQL Server 2005数据库 407 实例278 JDBC连接Oracle数据库 408 实例279 获取SQL Server指定数据 库中的数据表信息 409 实例280 获取MySQL指定数据库 中的数据表名称 411 实例281 查看数据表结构 412 实例282 动态维护投票数据库 414 实例283 SQL Server数据备份 416 实例284 SQL Server数据恢复 419 实例285 MySQL数据备份 422 实例286 MySQL数据恢复 424 实例287 动态附加数据库 425 实例288 生成SQL数据库脚本 426 实例289 表中字段的描述信息 429 实例290 将员工信息添加到数据表 430 实例291 添加数据时使用数据验证 431 实例292 插入用户登录日志信息 432 实例293 生成有规律的编号 433 实例294 生成无规律的编号 435 实例295 插入数据时过滤危险字符 436 实例296 复选框保存到数据库 437 实例297 把数据复制到另一张表中 438 实例298 批量插入数据 439 实例299 更新指定记录 440 实例300 在删除数据时给出提示信息 442

EndNoteX9 汉化+原版_破解版安装包

EndNote X9最新版,包括汉化版本和原版本,汉化方法: 1、双击[ENX9Inst.msi]安装EndNote X9,安装时选择试用,安装完成后不要运行EndNote; 2、如果想使用汉化版,可以将CHS文件夹里的[EndNote.exe]拷贝到EndNote的安装目录下,替换原文件即可汉化、破解。 3、如果想使用英文版,可以将ENG文件夹里的[EndNote.exe]拷贝到EndNote的安装目录下,替换原文件即可直接破解。 注意:不论用的是英文版还是中文版,替换之后即可破解,无需输入序列号。

深入浅出MySQL数据库开发、优化与管理维护

第1部分 基础篇  第1章 MySQL的安装与配置    1.1 MySQL的下载     1.1.1 在Windows平台下下载MySQL     1.1.2 在Linux平台下下载MySQL    1.2 MySQL的安装     1.2.1 在Windows平台下安装MySQL     1.2.2 在Linux平台下安装MySQL    1.3 MySQL的配置     1.3.1 Windows平台下配置MySQL     1.3.2 Linux平台下配置MySQL    1.4 启动和关闭MySQL服务     1.4.1 在Windows平台下启动和关闭 MySQL服务     1.4.2 在Linux平台下启动和关闭MySQL服务    1.5 小结 显示全部信息第1部分 基础篇  第1章 MySQL的安装与配置    1.1 MySQL的下载     1.1.1 在Windows平台下下载MySQL     1.1.2 在Linux平台下下载MySQL    1.2 MySQL的安装     1.2.1 在Windows平台下安装MySQL     1.2.2 在Linux平台下安装MySQL    1.3 MySQL的配置     1.3.1 Windows平台下配置MySQL     1.3.2 Linux平台下配置MySQL    1.4 启动和关闭MySQL服务     1.4.1 在Windows平台下启动和关闭MySQL服务     1.4.2 在Linux平台下启动和关闭MySQL服务    1.5 小结   第2章 SQL基础    2.1 SQL简介    2.2 (My)SQL使用入门     2.2.1 SQL分类     2.2.2 DDL语句     2.2.3 DML语句     2.2.4 DCL语句    2.3 帮助的使用     2.3.1 按照层次看帮助     2.3.2 快速查阅帮助     2.3.3 常用的网络资源    2.4 小结   第3章 MySQL支持的数据类型    3.1 数值类型    3.2 日期时间类型    3.3 字符串类型     3.3.1 CHAR和VARCHAR类型     3.3.2 BINARY和VARBINARY类型     3.3.3 ENUM类型     3.3.4 SET类型    3.4 小结   第4章 MySQL中的运算符    4.1 算术运算符    4.2 比较运算符    4.3 逻辑运算符    4.4 位运算符    4.5 运算符的优先级    4.6 小结   第5章 常用函数    5.1 字符串函数    5.2 数值函数    5.3 日期和时间函数    5.4 流程函数    5.5 其他常用函数    5.6 小结   第6章 图形化工具的使用    6.1 MySQLAdministrator     6.1.1 连接管理     6.1.2 健康检查     6.1.3 备份管理     6.1.4 Catalogs    6.2 MySQLQueryBrower    6.3 phpMyAdmin     6.3.1 数据库管理     6.3.2 数据库对象管理     6.3.3 权限管理     6.3.4 导入导出数据    6.4 小结  第2部分 开发篇  第7章 表类型(存储引擎)的选择    7.1 MySQL存储引擎概述    7.2 各种存储引擎的特性     7.2.1 MyISAM     7.2.2 InnoDB     7.2.3 MEMORY     7.2.4 MERGE    7.3 如何选择合适的存储引擎    7.4 小结   第8章 选择合适的数据类型    8.1 CHAR与VARCHAR    8.2 TEXT与BLOB    8.3 浮点数与定点数    8.4 日期类型选择    8.5 小结   第9章 字符集    9.1 字符集概述    9.2 Unicode简述    9.3 汉字及一些常见字符集    9.4 怎样选择合适的字符集    9.5 MySQL支持的字符集简介    9.6 MySQL字符集的设置     9.6.1 服务器字符集和校对规则     9.6.2 数据库字符集和校对规则     9.6.3 表字符集和校对规则     9.6.4 列字符集和校对规则     9.6.5 连接字符集和校对规则    9.7 字符集的修改步骤    9.8 小结   第10章 索引的设计和使用    10.1 索引概述    10.2 设计索引的原则    10.3 BTREE索引与HASH索引    10.4 小结   第11章 视图    11.1 什么是视图    11.2 视图操作     11.2.1 创建或者修改视图     11.2.2 删除视图     11.2.3 查看视图    11.3 小结   第12章 存储过程和函数    12.1 什么是存储过程和函数    12.2 存储过程和函数的相关操作     12.2.1 创建、修改存储过程或者函数     12.2.2 删除存储过程或者函数     12.2.3 查看存储过程或者函数     12.2.4 变量的使用     12.2.5 定义条件和处理     12.2.6 光标的使用     12.2.7 流程控制    12.3 小结   第13章 触发器    13.1 创建触发器    13.2 删除触发器    13.3 查看触发器    13.4 触发器的使用    13.5 小结   第14章 事务控制和锁定语句    14.1 LOCKTABLE和UNLOCKTABLE    14.2 事务控制    14.3 分布式事务的使用     14.3.1 分布式事务的原理     14.3.2 分布式事务的语法     14.3.3 存在的问题    14.4 小结   第15章 SQL中的安全问题    15.1 SQL注入简介    15.2 应用开发中可以采取的应对措施     15.2.1 PrepareStatementBind-variable     15.2.2 使用应用程序提供的转换函数     15.2.3 自己定义函数进行校验    15.3 小结   第16章 SQLMode及相关问题    16.1 MySQLSQLMode简介    16.2 常用的SQLMode    16.3 SQLMode在迁移中如何使用    16.4 小结  第3部分 优化篇  第17章 常用SQL技巧和常见问题    17.1 正则表达式的使用    17.2 巧用RAND()提取随机行    17.3 利用GROUPBY的WITHROLLUP子句做统计    17.4 用BITGROUPFUNCTIONS做统计    17.5 数据库名、表名大小写问题    17.6 使用外键需要注意的问题    17.7 小结   第18章 SQL优化    18.1 优化SQL语句的一般步骤     18.1.1 通过showstatus命令了解各种SQL的执行频率     18.1.2 定位执行效率较低的SQL语句     18.1.3 通过EXPLAIN分析低效SQL的执行计划     18.1.4 确定问题并采取相应的优化措施    18.2 索引问题     18.2.1 索引的存储分类      18.2.2 MySQL如何使用索引     18.2.3 查看索引使用情况    18.3 两个简单实用的优化方法     18.3.1 定期分析表和检查表     18.3.2 定期优化表    18.4 常用SQL的优化     18.4.1 大批量插入数据     18.4.2 优化INSERT语句     18.4.3 优化GROUPBY语句     18.4.4 优化ORDERBY语句     18.4.5 优化嵌套查询     18.4.6 MySQL如何优化OR条件     18.4.7 使用SQL提示    18.5 小结   第19章 优化数据库对象    19.1 优化表的数据类型    19.2 通过拆分提高表的访问效率    19.3 逆规范化    19.4 使用中间表提高统计查询速度    19.5 小结   第20章 锁问题    20.1 MySQL锁概述    20.2 MyISAM表锁     20.2.1 查询表级锁争用情况     20.2.2 MySQL表级锁的锁模式     20.2.3 如何加表锁     20.2.4 并发插入(ConcurrentInserts)     20.2.5 MyISAM的锁调度    20.3 InnoDB锁问题     20.3.1 背景知识     20.3.2 获取InnoDB行锁争用情况     20.3.3 nnoDB的行锁模式及加锁方法     20.3.4 InnoDB行锁实现方式     20.3.5 间隙锁(Next-Key锁)     20.3.6 恢复和复制的需要,对InnoDB锁机制的影响     20.3.7 InnoDB在不同隔离级别下的一致性读及锁的差异     20.3.8 什么时候使用表锁     20.3.9 关于死锁    20.4 小结   第21章 优化MySQLServer    21.1 查看MySQLServer参数    21.2 影响MySQL性能的重要参数     21.2.1 key_buffer_size的设置     21.2.2 table_cache的设置     21.2.3 innodb_buffer_pool_size的设置     21.2.4 innodb_flush_log_at_trx_commit的设置     21.2.5 innodb_additional_mem_pool_size的设置     21.2.6 innodb_lock_wait_timeout的设置     21.2.7 innodb_support_xa的设置     21.2.8 innodb_log_buffer_size的设置     21.2.9 innodb_log_file_size的设置    21.3 小结   第22章 磁盘I/O问题    22.1 使用磁盘阵列     22.1.1 常见RAID级别及其特性     22.1.2 如何选择RAID级别     22.1.3 虚拟文件卷或软RAID    22.2 使用SymbolicLinks分布I/O    22.3 禁止操作系统更新文件的atime属性    22.4 用裸设备(RawDevice)存放InnoDB的共享表空间    22.5 小结   第23章 应用优化    23.1 使用连接池    23.2 减少对MySQL的访问     23.2.1 避免对同一数据做重复检索     23.2.2 使用查询缓存     23.2.3 增加CACHE层    23.3 负载均衡     23.3.1 利用MySQL复制分流查询操作     23.3.2 采用分布式数据库架构    23.4 其他优化措施    23.5 小结  第4部分 管理维护篇  第24章 MySQL高级安装和升级    24.1 Linux/UNIX平台下的安装     24.1.1 安装包比较     24.1.2 安装RPM包     24.1.3 安装二进制包     24.1.4 安装源码包     24.1.5 参数设置方法    24.2 源码包安装的性能考虑     24.2.1 去掉不需要的模块     24.2.2 只选择要使用的字符集     24.2.3 使用静态编译以提高性能    24.3 升级MySQL    24.4 MySQL降级    24.5 小结   第25章 MySQL中的常用工具    25.1 mysql(客户端连接工具)     25.1.1 连接选项     25.1.2 客户端字符集选项     25.1.3 执行选项     25.1.4 格式化选项      25.1.5 错误处理选项    25.2 myisampack(MyISAM表压缩工具)    25.3 mysqladmin(MySQL管理工具)    25.4 mysqlbinlog(日志管理工具)    25.5 mysqlcheck(MyISAM表维护工具)    25.6 mysqldump(数据导出工具)    25.7 mysqlhotcopy(MyISAM表热备份工具)    25.8 mysqlimport(数据导入工具)    25.9 mysqlshow(数据库对象查看工具)    25.10 perror(错误代码查看工具)    25.11 replace(文本替换工具)    25.12 小结   第26章 MySQL日志    26.1 错误日志    26.2 二进制日志     26.2.1 日志的位置和格式     26.2.2 日志的读取     26.2.3 日志的删除     26.2.4 其他选项    26.3 查询日志     26.3.1 日志的位置和格式     26.3.2 日志的读取    26.4 慢查询日志     26.4.1 文件位置和格式     26.4.2 日志的读取     26.4.3 其他选项    26.5 小结   第27章 备份与恢复    27.1 备份/恢复策略    27.2 逻辑备份和恢复     27.2.1 备份     27.2.2 完全恢复     27.2.3 基于时间点恢复     27.2.4 基于位置恢复    27.3 物理备份和恢复     27.3.1 冷备份     27.3.2 热备份    27.4 表的导入导出     27.4.1 导出     27.4.2 导入    27.5 小结   第28章 MySQL权限与安全    28.1 MySQL权限管理     28.1.1 权限系统的工作原理     28.1.2 权限表的存取     28.1.3 账号管理    28.2 MySQL安全问题     28.2.1 操作系统相关的安全问题     28.2.2 数据库相关的安全问题    28.3 其他安全设置选项     28.3.1 old-passwords     28.3.2 safe-user-create     28.3.3 secure-auth     28.3.4 skip-grant-tables     28.3.5 skip-network     28.3.6 skip-show-database    28.4 小结   第29章 MySQL复制    29.1 安装配置    29.2 主要复制启动选项     29.2.1 log-slave-updates     29.2.2 master-connect-retry     29.2.3 read-only     29.2.4 指定复制的数据库或者表     29.2.5 slave-skip-errors    29.3 日常管理维护     29.3.1 查看从服务器状态     29.3.2 主从服务器同步维护     29.3.3 从服务器复制出错的处理     29.3.4 logevententryexceededmax_allowed_packet的处理     29.3.5 多主复制时的自增长变量冲突问题     29.3.6 查看从服务器的复制进度    29.4 切换主从服务器    29.5 小结   第30章 MySQLCluster    30.1 MySQLCluster架构    30.2 MySQLCluster的配置     30.2.1 MySQLCluster的版本支持     30.2.2 管理节点配置步骤     30.2.3 SQL节点和数据节点的配置    30.3 开始使用Cluster     30.3.1 Cluster的启动     30.3.2 Cluster的测试     30.3.3 Cluster的关闭    30.4 维护Cluster     30.4.1 数据备份     30.4.2 数据恢复     30.4.3 日志管理    30.5 小结   第31章 MySQL常见问题和应用技巧    31.1 忘记MySQL的root密码    31.2 如何处理MyISAM存储引擎的表损坏     31.2.1 方法一     31.2.2 方法二    31.3 MyISAM表超过4GB无法访问的问题    31.4 数据目录磁盘空间不足的问题     31.4.1 对于MyISAM存储引擎的表     31.4.2 对于InnoDB存储引擎的表    31.5 DNS反向解析的问题    31.6 mysql.sock丢失后如何连接数据库    31.7 同一台服务器运行多个MySQL数据库    31.8 客户端怎么访问内网数据库    31.9 小结

相关热词 c#创建非模态窗体 c#提取字符串中的数字 c# 扩展无返回类 c#网站如何做预览功能 c# 异步 返回值 c#chart实时曲线图 c# 窗体 隐藏 c#实现终端上下滑动 c# 传递数组 可变参数 c# list 补集