logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux 详谈进程间通信(一)

本文介绍了进程间通信(IPC)的概念和实现方式,重点讲解了管道通信机制。主要内容包括:进程间通信的目的(数据传输、资源共享、通知事件、进程控制)、发展历程及分类;管道的基本概念和原理,详细分析了匿名管道的创建、使用和实现机制;通过实例代码演示了管道读写操作,包括父子进程间通信;展示了使用管道创建进程池处理任务的完整实现方案;总结了管道通信的特点和限制(仅适用于亲缘进程、半双工、流式服务等)。文章还

文章图片
#linux#运维#服务器
Linux 详谈线程同步与互斥

本文主要介绍了线程互斥与同步的实现机制。在互斥方面,详细讲解了临界资源、临界区、互斥量等概念,并通过售票系统案例演示了不加锁导致的数据竞争问题,提出使用mutex互斥量进行保护。在同步方面,介绍了条件变量的使用场景,包括初始化、等待和唤醒等操作,并通过示例展示了pthread_cond_wait和pthread_cond_signal/broadcast的使用方法。文章还展示了如何采用RAII风格

文章图片
#开发语言#c++#linux +1
C++ 详谈智能指针(二)

摘要:文章探讨了C++智能指针shared_ptr存在的循环引用问题及其解决方案。当两个shared_ptr相互引用时会导致引用计数无法归零,造成内存泄漏。通过将其中一个指针改为weak_ptr(不增加引用计数)可有效解决该问题。同时分析了shared_ptr线程安全问题,指出引用计数需原子操作保护。文章还介绍了C++11与Boost智能指针的关系,并讨论了内存泄漏的危害及检测方法。最后强调预防内

文章图片
#c++#开发语言#后端
C++ 详谈智能指针的使⽤及其原理(一)

本文系统介绍了C++智能指针的核心概念与应用。主要内容包括:1)智能指针在异常安全场景中的必要性,通过RAII机制自动管理资源释放;2)标准库智能指针(auto_ptr/unique_ptr/shared_ptr/weak_ptr)的特性与使用场景,重点分析各自拷贝语义的差异;3)智能指针的底层实现原理,包括引用计数机制和删除器功能的实现方式;4)通过模拟实现auto_ptr、unique_ptr

文章图片
#c++#开发语言#算法 +1
数据结构 双向链表

本文介绍了双向链表的结构与实现。双向链表相比单链表增加了前驱指针,支持双向遍历。其实现采用带头节点的结构(哨兵位),提供了初始化、销毁、插入删除等基本操作接口。与顺序表相比,双向链表在插入删除时效率更高(O(1)),但随机访问效率较低(O(N));而顺序表空间连续,支持随机访问但插入需移动元素。实际开发中双向链表应用更广泛,因其在动态操作上的优势更符合常见需求。

文章图片
#数据结构#链表
Linux 详谈进程控制

本文介绍了Linux系统中的进程控制机制,主要包括四个部分:进程创建、终止、等待和程序替换。首先详细讲解了fork()函数创建子进程的原理和写时复制技术;其次分析了进程终止的三种场景和exit()、_exit()函数的区别;然后阐述了进程等待的必要性,介绍了wait()和waitpid()函数的使用方法;最后解释了程序替换的exec函数族及其应用场景。文章通过代码示例演示了各种进程控制操作的实际应

文章图片
#linux#运维#服务器 +1
到底了