自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Muduo源码Base篇

Muduo异步日志 先来看AsyncLogging类的定义 class AsyncLogging : noncopyable { public: AsyncLogging(const string& basename, off_t rollSize, int flushInterval = 3); ~AsyncLogging() { if (running_) { stop(); }

2021-05-02 10:53:58 204

原创 Muduo源码Base篇

Muduo日志 首先看时间戳类 这是TimeStamp类的定义 class Timestamp : public muduo::copyable, public boost::equality_comparable<Timestamp>, public boost::less_than_comparable<Timestamp> { public: /// /// Constucts an invali

2021-04-26 15:28:41 260

原创 Muduo源码Base篇

Muduo源码Base 无界阻塞队列 class BlockingQueue : noncopyable { public: BlockingQueue() : mutex_(), notEmpty_(mutex_), queue_() { } void put(const T& x) { MutexLockGuard lock(mutex_); queue_.push_back(x); notEmpty_.notify

2021-04-20 16:51:09 384 3

原创 Muduo源码Base篇

Muduo源码Base Thread类 class Thread : noncopyable { public: typedef std::function<void ()> ThreadFunc; explicit Thread(ThreadFunc, const string& name = string()); // FIXME: make it movable in C++11 ~Thread(); void start(); int join();

2021-04-19 11:33:43 195

原创 Muduo源码Base篇

muduo源码Base Mutex类 Condition类 首先看这个类 class noncopyable { public: noncopyable(const noncopyable&) = delete; void operator=(const noncopyable&) = delete; protected: noncopyable() = default; ~noncopyable() = default; }; } // namespace mud

2021-04-15 16:29:13 122

原创 操作系统

##第五章同步 临界区问题 当一个进程在临界区内执行时,其他进程不允许在它们的临界区执行. 第一种 do { 进入区 临界区 退出区 剩余区 }while(true); Peterson解决方案 //变量turn表示哪个进程可以进入临界区 //而数组flag表示哪个进程准备进入临界区 //j=1-i int turn; bool flag[2];//全局数组初始化为false do{ flag[i]=true; turn =j; while(flag[j]&&turn

2020-12-15 20:02:07 206

原创 PAT (Basic Level) Practice1083 是否存在相等的差(C语言实现)

1083 是否存在相等的差 给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差? 输入格式: 输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。 输出格式: 按照“差值 重复次数”的格式从大到小输出重复的差值及其重复的次数,每行输出一个结果。 输入样例: 8 3 5

2020-05-27 09:23:26 272

原创 PAT (Basic Level) Practice1082 射击比赛(C语言实现)

1082 射击比赛 本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。 输入格式: 输入在第一行中给出一个正整数 N(≤ 10 000)。随后 N 行,每行按下列格式给出: ID x y 其中 ID 是运动员的编号(由 4 位数字组成);x 和 y 是其打出的弹洞的平面坐标(x,y),均为整数,且 0 ≤ |x|, |y| ≤ 100。题目保证每个运动员的编号不重

2020-05-27 08:52:40 252

原创 PAT (Basic Level) Practice1081 检查密码(C语言实现)

该题较为·简单。。 1081 检查密码 本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。 输入格式: 输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。 输出格式: 对每个用户的密码,在一行中输出系统反馈信息,分以下5种: 如果密码合法,输出Your password is wan mei.; 如果

2020-05-27 08:39:42 392

原创 PAT (Basic Level) Practice 1080 MOOC期终成绩

1080 MOOC期终成绩 (25分) 对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。总评成绩的计算公式为 G=(G​mid−term​​×40%+G​final​​×60%),如果 G​mid−term​​>G​final​​;否则总评 G 就是 G​final​​。这里 G​mid−term​​ 和 G​final​​ 分别为学生的

2020-05-26 11:08:41 200

原创 PTA(Basic Level) 1079:延迟的回文数(C语言实现)

PTA(Basic Level) 1079:延迟的回文数(C语言实现) 给定一个 k+1 位的正整数 N,写成 a​k​​⋯a​1​​a​0​​ 的形式,其中对所有 i 有 0≤a​i​​<10 且 a​k​​>0。N 被称为一个回文数,当且仅当对所有 i 有 a​i​​=a​k−i​​。零也被定义为一个回文数。 非回文数也可以通过一系列操作变出回文数。首先将该数字逆转,再将逆转数与该数相加,如果和还不是一个回文数,就重复这个逆转再相加的操作,直到一个回文数出现。如果一个非回文数可以变出回文数,

2020-05-24 17:12:21 527

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除