Mike's Blog

Congratulations, you found my peach garden (=゚ω゚)ノ

TCP服务端多种实现

个人实践项目:尝试使用多种方式实现TCP服务端

[项目说明]: 😭实在抱歉,虽然代码已经基本写完,最近没有时间更新这篇过程说明文章,一定会尽快补上的!! [项目源码]: 👉Zhgaot_GitHub Linux网络编程基础API的封装 Client端简易实现 多开线程处理连接 线程池处理连接 IO多路复用处理连接 单Reactor多线程简易实现

分布式K-V缓存系统设计

实习合作项目:分布式K-V缓存系统项目详解

[项目说明]: 这是暑期我进入腾讯实习时,TEG布置的虚拟项目,此项目由6个实习生共同完成 [个人分工]: 除系统设计外,我主要负责Client端的设计与实现,以及LRU类模板的编写 [文章致谢]: (●’◡’●)我非常怀念我们共同写项目的时光!十分感谢大家的帮助,和你们合作超级愉快 [项目源码]: 由于公司的保密要求,以及我们使用的是内部开源...

民航停机位分配

科研院所项目:动态禁忌搜索求解民航停机位分配问题

[导语]: 本篇博客将分享求解民航停机位分配问题的一种方法 [问题]: 民航静态停机位分配问题 [算法]: 动态禁忌搜索算法 [语言]: python [源码]: 👉Zhgaot_GitHub 1 模型构建 1.1 符号变量说明 1.1.1 输入变量 1.1.2 决策变量 1.2 优化目标及目标函数 1.2....

union & byteorder

C++ - union讲解 & 字节序讲解

1 union基本概述 1.1 union定义 union意为联合,它是一种特殊的类,通过关键字union进行定义。一个union可以有多个数据成员,但其内部只能包含结构体(struct)和普通变量类型(如int等),并以其中一个占内存最大的变量的大小S就是该union所占内存的大小。例如以下联合体Token: union Token{ char cval; int iva...

undefined reference to `XXX'

undefined reference to `XXX'问题记录与解决

本篇博客记录了我所遇到的关于undefined reference to `XXX’报错的工程原因以及解决思路,同时参考了一篇参考文章,在此文章中记录的原因在本博客中将不再进行实验与讲解 1 原因概述 我们在Linux下用C/C++工作的时候,经常会遇到undefined reference to 'XXX'的问题,直白地说就是在链接(从.cpp源代码到可执行的ELF文件,要经过...

C++11线程库使用(八)

async & future & packaged_task & promise

1 std::async与std::future创建后台任务并接收返回值 1.1 作用描述 之前创建一个线程,并执行线程入口函数,有的时候需要返回结果;但是返回的结果没办法直接返回,而一般需要赋值在全局变量上,或者传入引用或者指针直接在线程中改变某变量的值。 std::async是一个函数模板,它用来启动一个异步任务。异步任务指自动创建一个线程并开始执行对应的线程入口函数 ...

C++11线程库使用(七)

条件变量condition_variable

1 条件变量std::condition_variable 条件变量std::condition_variable是一个类,它需要实例化后配合互斥量来工作。这里引入的条件变量与操作系统中管程提供的条件变量类似,std::condition_variable类所生成的对象可以使用成员变量wait()和notify_one(),它们分别对应了管程中条件变量的wait和signal操作,二者的...

C++11线程库使用(六)

单例设计模式共享数据问题分析及解决 & call_once

1 单例设计模式 1.1 概念 单例设计模式的使用频率较高,它指的是:在整个项目中,存在某个或者某些特殊的类(被称为单例类),由单例类所实例化出的对象,只能够被创建1个。 1.2 示例(记得看注释) mutex myMutex; /* 单例类 */ class MyCAS { private: /* 手动定义【私有化的构造函数】,则不能在外部创建该类的对象了 */ MyC...

C++11线程库使用(五)

unique_lock详解

unique_lock是一个类模板,在实际工程中推荐使用lock_guard,但接收他人项目或阅读第三方代码时可能需要用到unique_lock 1 unique_lock取代lock_guard unique_lock也是用于取代lock()和unlock()的,这点与lock_guard类似,但unique_lock在效率上会更差一点,在内存上占用更多一点。在缺省使用上,u...

C++11线程库使用(四)

互斥量概念与用法 & 死锁演示及解决

1 互斥量(mutex)的概念 互斥量是一个类对象,可理解为一把锁,多个线程尝试用lock()成员函数来上锁,但只有一个线程可以锁成功,成功的表示是lock()函数返回;若没有上锁成功,则对某一线程来说,流程将卡在lock()函数这里不断地去尝试上锁。互斥量的使用要小心,保护的数据不能多不能少。 2 互斥量的用法 2.1 成员函数lock()和unlock() 需使用&l...