
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文探讨了C++中shared_ptr和weak_ptr在多线程环境下的使用。通过定义类A和子线程函数handler01,演示了如何利用weak_ptr实现对对象的安全访问。文章展示了两个main函数版本:第一个版本中主线程等待足够时间,子线程能成功访问A对象;第二个版本中主线程过早释放对象,子线程访问失败。详细介绍了weak_ptr的构造、lock()方法、expired()检查等用法,强调其避
文章摘要:本文通过"小城IO"的比喻,生动讲解了阻塞与非阻塞I/O的核心区别。阻塞模式下线程会休眠等待(如accept无连接时),导致无法处理其他任务;而非阻塞模式通过立即返回错误码(如EAGAIN)让线程保持活动。特别强调在边缘触发(ET)模式下必须使用非阻塞+循环方式处理I/O,避免漏接事件。文章指出epoll_wait的阻塞是高效的多路复用机制,而具体I/O操作(acce
《线程大陆:并发之战》是一部以多线程编程为主题的奇幻冒险故事。程序员小织被召唤至线程大陆,学习线程ID(pthread_self)、线程创建(pthread_create)、互斥锁(pthread_mutex_t)解决竞态条件、条件变量(pthread_cond_wait)优化线程等待,以及如何避免死锁陷阱。通过生动比喻,故事将复杂的线程同步概念转化为直观的冒险情节,最终帮助读者理解线程协作的五大
Linux epoll是高性能I/O多路复用机制,通过事件驱动实现单线程处理数万并发连接。相比select/poll的O(n)遍历,epoll采用O(1)事件通知,支持无限制fd数量,减少内存拷贝。核心函数包括epoll_create(创建实例)、epoll_ctl(注册/修改fd)、epoll_wait(等待事件)。支持水平触发(LT)和边缘触发(ET)两种模式,ET模式配合非阻塞I/O可实现最
《进程王国:身份之谜》通过程序员小程的冒险故事,生动讲解了Linux进程身份识别的关键概念。小程在任务中学习使用系统调用获取进程信息:用getpid()查自身ID,getppid()找父进程,getpgrp()确认进程组,以及getuid()/geteuid()区分真实与有效身份。故事还揭示了子进程默认继承父进程组ID的特性,最终通过wait()回收僵尸进程解决问题。文章以童话形式将复杂的系统编程
🌟《数字王国的探险家》摘要:年轻程序员小快在C++线程大陆展开冒险,学习多线程编程的奥秘。从std::thread基础到线程池设计,他经历了RAII封装、死锁预防、条件变量通信等挑战,最终领悟并发编程的真谛——不仅是速度的追求,更是秩序与协作的艺术。故事通过拟人化的技术角色(线程长老、死锁幽灵等)生动展现了多线程编程的技术要点与设计哲学,将枯燥的技术概念转化为一场充满成长与蜕变的奇幻之旅。
