后端开发
文章平均质量分 96
一个程序员的修炼之路
顺势而为
展开
-
对象池的使用场景以及自动回收技术
对象池在编程中,我们经常会涉及到对象的操作,而经常的操作模式如下图所示:创建对象->使用对象->销毁对象。而这个对象有可能创建的时候会需要构建很多资源,消耗比较大, 比如:在hiredis的SDK中每次都创建一个redisContext,如果需要查询,那就首先要进行网络连接。如果一直都是上图的工作方式,那将会频繁的创建连接,查询完毕后再释放连接。重新建立连接,让网络的查询效率降低。这个时候就可以构建一个对象池来重复利用这个对象,并且一般要做到线程安全:从对象池中获取对象,如果没有对象原创 2021-08-29 21:31:35 · 1117 阅读 · 0 评论 -
Protobuf用过没?
一个故事在读书的时候,参与的第一个是实质性的项目,其中有一部分网络通信,基于socket编程。网络通讯TCP/IP相当于交通工具,上层应用协议还得自己设计。 学过计算机网络这门课的,自然会对所学的知识举一反三。首先查看一个TCP的协议格式:protobuf,语言之间的内容传递,进程间通信。protobuf 2 vs 3json vs protobuf参考<>...原创 2021-08-23 22:33:45 · 367 阅读 · 0 评论 -
基于消息的事件驱动机制(Message Based, Event Driven)
投稿者: 地下潜行者1. 基本模型概述基于消息的事件驱动机制是一个通用模型,广泛应用于桌面软件开发、网络应用程序开发、前端开发等技术方向中。本文主要描述基本模型、基本框架,用于说明不同技术的共性知识。可以理解为外部操作事件,被转化为消息存放于队列中;而每种类型的消息都有对应的处理;通过消息循环,完成读消息、调用消息处理这个过程。这个过程,只要应用不退出,会一直进行下去。下图的模型从Windows应用程序而来,但是具有一定的通用性。2. 模型在MFC程序中的应用MFC(Microsoft Found原创 2021-08-01 19:09:41 · 764 阅读 · 0 评论