c++
文章平均质量分 59
tangliu333
努力奋斗的大学生一枚
展开
-
# ubuntu源码安装cmake-3.16.6
apt-get install cmake安装的cmake版本过低,于是源码安装cmake,将步骤记录下来供以后参考原创 2022-06-24 18:37:30 · 809 阅读 · 0 评论 -
网络编程事件处理模型和并发模式
当socket上读事件就绪时,说明此时连接有新请求到来,在web服务器设计中,表示一个http请求的到来,我们应该如何高效响应并处理这些事件?使用同步I/O的多线程服务端编程模型使用异步I/O的多线程服务端编程模型主要的一点是Proactor里面工作线程是不进行I/O操作的,如果使用同步I/O来模拟Proactor,我们要在主线程内监控到socket上的读事件时,就将socket上的数据读到读缓冲区中,再让工作线程来处理这个请求,工作线程处理完之后,将回复消息生成于写缓冲区之后,注册该socket上的写就绪原创 2022-06-19 16:17:05 · 138 阅读 · 0 评论 -
线程安全的Observer模式2.0-鸡肋的改进的Observer模式
使用互斥锁来保护Observerable原创 2022-06-01 21:20:09 · 190 阅读 · 0 评论 -
线程安全的Observer模式1.0-线程不安全的Observer模式
线程不安全的Observer模式什么是Observer模式当一个类需要根据另一个类来执行自己的操作时,我们可以使用Observer模式。例如一个天气数据类,我们需要根据天气数据来动态绘制各种类型的图表(饼状图,折线图)。当天气数据更新的时候,这些图标也应该更新。于是使用Observer模式,一个Observer(观察者)可以观察一个Observerable(被观察者),一个Observerable可以被多个Observer观察。Observer模式实现的方式是在Observerable中保存它所有Obs原创 2022-05-30 13:46:04 · 156 阅读 · 0 评论 -
c++输入避坑
c++输入注意事项前两天华为笔试,被c++输入坑惨了。有一道题是输入一个矩阵,先输入矩阵的行和列n*m,然后输入了n行字符串,一行字符串就是一行数据。我一开始用cin>>n>>m把行和列读进来,然后再执行n次getline(cin,str)把这n行字符串读进来。结果不知道怎么回事一直少读了一行字符串。下来看了一些博客才终于搞清楚错在哪里了。原来是因为cin>>n>>m的时候输入缓冲区里面还残留了一个\n。所以第一次getline的时候读的是这个\n,导致我的原创 2022-05-28 20:36:42 · 333 阅读 · 0 评论