09 2020 档案
摘要:一 现象: 粘包: A机器发出2包数据,B机器把2包数据作为一次收到,此时2包数据粘在一起。 分包: A机器发送1包数据,B机器分为两次收到这包数据,此时,这1报数据分为2次被B机器收到。 二 产生原因: 当服务端和客户端用到TCP通信时,可能会有以下场景(1)网络有延迟、(2)客户端频繁发送的数据
阅读全文
摘要:一 使用场景: 当可执行程序在现场跑崩溃时,线程不能调试,此时就得就要考虑让程序崩溃时产生dmp文件,然后拷回来调试,dmp里面记录出错时的记录。 二 如何产生dmp文件, 以下为示范代码(VS2013),代码开始时调用SetUnhandledExceptionFilter(&MyUnhandled
阅读全文
摘要:一、程序崩溃的定位 先给出一个例子,该代码有致命bug,运行时将使程序崩溃。在VC中输入以下代码: /////////////// 示例1 //////////////////// #include <stdio.h> #include <stdlib.h> struct Object { int
阅读全文
摘要:简介线程池(thread pool):一种线程的使用模式,线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用
阅读全文
摘要:1.操作准备:VS2019,电脑A(运行可执行程序),电脑B(跑程序调试,程序附加到A电脑上) 2.B电脑生成一份可执行程序,放到A电脑, 3.在B电脑VS安装目录里找msvsmon.exe,并以管理员权限运行,我电脑这个文件的目录G:\SoftWare\VS2019\Common7\IDE\Rem
阅读全文