- 博客(20)
- 收藏
- 关注
原创 跨平台进程池背后的思想
进程间并发控制其实是比较好解决的,使用boost库中进程相关的有名锁、有名条件变量等即可,其都是基于全局共享内存,当然关于全局共享内存是如何在进程之间互相识别的这个问题,其实我们也能从其前缀得到一些启发:“有名”,那固然是你创间这些控制条件变量的时候取一个名字,很明显这个名字于全局共享内存块形成了一个映射,并且这个映射也是全局的,以便所有进程都能访问该变量。下面就是“最赖皮”的部分,任务队列的实现。但是实现上进程池的实现会比线程池实现复杂的多,主要比较复杂的点的就在于并发安全的任务队列。
2024-10-19 17:40:18 469
原创 关于C++的初始化问题
成员变量的初始化顺序在C++中十分的重要,特别是在初始化列表对成员变量进行初始化构造的时候,一定要保证初始化顺序与定义生命顺序保持一致。
2024-07-29 10:16:33 193
原创 设计模式学习(uml+理论+案例+源码)
设计模式是在软件设计过程中,由经验丰富的开发者们总结出来的解决特定问题的经典方法和模板。它们是经过验证的、可重用的设计思想,可以帮助开发者有效地解决各种常见的软件设计和开发难题。设计模式通过提供在特定情境中的解决方案,帮助开发者避免重复造轮子、提高代码的可维护性、可扩展性和可读性。这些模式在解决问题时都有其独特的适用场景,并且经过时间的考验,被证明是有效且优雅的解决方案。使用设计模式可以让开发者更加灵活地设计和组织代码,使代码更易于理解、扩展和维护。
2023-07-25 12:08:50 248
原创 头文件循环依赖(循环包括)
今天在编写网络库的时候,遇到了一个很奇怪的问题。实际场景是这样:一个类对应一个头文件,然后两个类互相依赖对方。语法没有任何错误,但就是找不到对应类的类型。后面发现是头文件循环依赖的问题。
2023-05-25 19:04:09 983
原创 你真的了解虚函数吗?(c++代码到汇编)
今天晚上偶然间看到了一篇关于虚函数的博客,引起了我极大的兴趣,于是我打算从代码入手,把虚函数指针和虚函数表的实质弄清楚,后面带着疑惑越走越远,走到了汇编,终于是解开了虚函数的真相。虚函数终于破云开雾!
2023-05-21 04:32:40 374
原创 go语言抖音demo
首先从dao层的代码说起,dao层主要是用来设计对db数据库的访问并把数据封装对象的过程。代码设计全部采用的是单例模式,我的是gorm框架来对数据库进行访问,直接反射到对应的结构体中。在使用gorm的过程中,通过使用外键,使用gorm框架的的has one、has many 、many to many 、belongs to、通过设置标签进行联合查询,有些特殊需求是通过自写sql来解决的。下面通过看几个例子// QueryLikeByUserid DeleteLike 查找映射 并且返回lists。
2023-02-24 13:21:50 1468 3
原创 Windows下的Socket编程C语言
Windows下纯C代码socket编程源码演示同一主机或者用一局域网之间进行通信。服务端代码:#define _CRT_SECURE_NO_WARNINGS#define _WINSOCK_DEPRECATED_NO_WARNINGS #include<stdio.h>#include<string.h>#include<stdlib.h>#include<WinSock2.h>//头文件#pragma comment(lib,"Ws2
2022-05-22 11:02:27 2158 1
原创 c++三种智能指针shared_ptr、weak_ptr、unique_ptr的原理和使用
c++智能指针总结一、智能指针出现的原因1. 基于我们的的编程习惯,在堆区动态管理的资源忘记释放或者回收了,导致内存泄漏。2. 有多个指针指向同一片内存的问题,造成内存资源的重复释放或回收。3. 程序在在抛出异常前申请了资源,以至于异常抛出时导致程序中断,无法执行析构函数delete内存从而导致的内存泄漏。基于上面三个主要的原因,聪明的程序员就提出了智能指针方便管理我们自己的内存,一定程度上解决了c++为了人所诟病的内存管理问题。二、智能指针的本质及其原理智能指针的本质一个对象,是一个
2022-05-18 23:30:04 1572 1
原创 c++11右值引用、移动语义和完美转发
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档前言希望通过本篇文章能让你了c++右值引用的目的,以及其和移动语义、完美转发的联系及用法!一、右值引用1.左值和右值到底什么时候是左值?什么时候是右值?是不是有点混乱?在 C++ 中,每个表达式(expression)都有两个特性:has identity? —— 是否有唯一标识,比如地址、指针。有唯一标识的表达式在 C++ 中被称为glvalue(generalized lvalue)(广义左值)。can be m.
2022-05-11 23:00:40 1196 1
空空如也
关于c++web服务器的问题
2022-11-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人