- 博客(232)
- 收藏
- 关注
原创 Linux 系统检测进程死锁的方法
psstrace用于分析进程状态和系统调用卡住的位置。lsof用于检查文件或资源锁。pstackgdb用于分析线程堆栈,判断是否多个线程卡在锁等待上。proc文件系统()可用于检查futex死锁。perflockstat用于更深入分析锁争用情况。dmesg可用于检查内核是否检测到死锁。你可以结合这些方法,具体看进程是否真的发生了死锁。
2025-03-27 16:12:10
397
原创 模拟网络拥堵情况测丢包
如果你希望通过网络给一个远程服务或服务器(比如我)传递带宽繁忙的状态信息,具体的实施步骤会依赖于你在网络上如何管理流量和监控带宽。
2024-08-30 14:27:19
573
原创 InfluxDB 使用
InfluxDB 是一个开源的时序数据库,专门用于存储和处理时间序列数据。这种数据库特别适合用于存储像传感器数据、监控数据、金融数据等连续记录时间戳的数据信息。
2024-08-26 17:02:48
853
原创 TensorRT 和 PyTorch区别
TensorRT 和 PyTorch 是两个不同的深度学习工具,虽然它们可以用于处理相同类型的任务,但它们的用途、特点和设计目标有所不同。它们常常被结合使用:先在 PyTorch 中开发和训练模型,然后使用 TensorRT 来优化和部署该模型,以获得更好的推理性能。开发者通常使用 PyTorch 训练模型,然后将模型导出为 ONNX 或其他格式,接着在 TensorRT 中进行优化并部署。PyTorch 是用于深度学习模型开发和训练的框架,提供了灵活性和易用性。
2024-08-19 09:34:01
801
原创 c++类多态
析构函数可以是虚函数,析构函数为虚函数经常是在类的多态中使用;或者说多态中,基类析构函数必须为虚函数。无论是析构函数为纯虚函数,或者是其他函数为纯虚函数,类变成了抽象类,不允许实例化。3、多态构造和析构顺序,基类开始,最后一个析构也是基类,参考栈。1、c++构造函数可不可以是虚函数,析构函数可不可以是虚函数。可以,但不常用,且必须在类外再次定义析构函数。定义:同一操作或者函数,在不同对象上的表现。无论何种场景,构造函数不可能是虚函数。2、析构函数可不可以是,纯虚函数。
2024-07-24 16:28:33
165
原创 c++ 生成随机字符串
以下是一个示例代码,它使用std::random_device和std::mt19937生成随机字符,并将结果存储在一个字符串中。std::uniform_int_distribution<> distribution(0, max_index - 1) 创建一个均匀分布,以确保生成的随机数在字符集的索引范围内。输出随机字符串: 在主函数中调用generateRandomString生成一个长度为1024的随机字符串,并输出结果。std::random_device rd 用于生成一个随机种子。
2024-07-15 13:32:43
624
原创 c++ 网络编程udp协议 poco模块
1、poco是在原生socket之上的封装,底层还是socket,性能低于socket,安全性和实用性高于socket,即使用简便,接口简单。官网资料(需要梯子):https://pocoproject.org/slides/200-Network.pdf。3、很多案例,包括官网给出的案例,端口都是514,这个端口发送是没什么限制,但是接收会出现,2、udp协议是,接收端没有及时接收或者没有接收到这个数据,数据会丢失。,解决这个问题,要么换端口,要么执行加管理员权限。
2024-07-11 10:23:20
636
原创 C++ exit 和 _exit区别
对比exit 和 _exit区别,exit 推出会执行静态类的析构函数,而_exit不会。调用通过 atexit 注册的退出处理程序。正常退出程序,调用所有对象的析构函数。立即终止程序,不调用任何析构函数。调用全局和静态对象的析构函数。不调用局部对象的析构函数。通常用于子进程的快速退出。适用于程序正常结束的情况。
2024-07-09 15:09:13
242
原创 C++ 信号量和锁的区别
网上关于信号量和锁的区别,写的比较官方晦涩难懂,对于这个知识点吸收难,通过示例,我们看到信号量,可以控制同一时刻的线程数量,就算同时开启很多线程,依然可以的达到线程数可控。
2024-07-08 14:37:41
326
原创 c++ 写文件,is_open的问题
1、当文件名称已经存在,且磁盘已满,is_open返回true。2、当文件名不存在,磁盘已满,is_open返回false。为了避免这种现象发生,注意先判断磁盘空间。
2024-06-24 14:39:53
364
原创 c++ 菱形继承
在这种结构中,类 D 继承自 B 和 C,同时 B 和 C 又都继承自 A。这就可能导致类 D 拥有两份 A 的成员,从而引起二义性。例如,假设类 A 有一个成员变量 x,那么类 D 会继承两份 x,一个来自 B,一个来自 C。C++ 提供了虚继承(virtual inheritance)机制来解决菱形继承问题。通过虚继承,B 和 C 会共享同一个基类 A,而不会各自拥有独立的 A 的成员。一、菱形继承定义:假设有四个类:A、B、C 和 D,其中 B 和 C 都继承自 A,而 D 又继承自 B 和 C。
2024-05-29 17:56:29
260
空空如也
为什么大多程序员是单身
2023-08-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人