多进程和多线程
文章平均质量分 61
并发编程
末日在做什么呢
这个作者很懒,什么都没留下…
展开
-
epoll源码解析
epoll源码解析1epoll解析2epoll解析3epoll_ctl方法epoll_create方法 ,会创建eventpoll结构,然后将fd和file关联起来,使得 通过 fd能找到 eventpoll结构,即ep结构;struct eventpoll { spinlock_t lock; struct mutex mtx; wait_queue_head_t wq; //sys_epoll_wait()使用的等待队列 wait_queue_head_t p原创 2021-09-20 16:22:01 · 216 阅读 · 0 评论 -
无锁编程:LockFreeStackT
https://www.jianshu.com/p/3e122ee901c5带有ABA问题 的无锁stack;template <typename T>class LockFreeStackT{ struct Node{ T val; Node *next; }; LockFreeStackT():head_(nullptr){} void push(const T& val){ Node* node原创 2021-09-11 22:53:13 · 153 阅读 · 0 评论 -
自己动手实现一个shared_ptr
#include<bits/stdc++.h>#include <unistd.h>using namespace std;namespace smart_pointer{ template<typename T> class SharedPtr{ public: SharedPtr(); SharedPtr(T *ptr); SharedPtr(const SharedPtr &原创 2021-09-09 20:17:53 · 312 阅读 · 0 评论 -
C++ 单例模式(饿汉模式、懒汉模式)
文章目录前言一、单例模式的应用场景二、单例模式的实现1.饿汉式(Eager Singleton)2.懒汉模式-单线程(Lazy Singleton)2.1 简易版2.2 私有嵌套类-回收专用3、懒汉模式 -多线程版本4、懒汉模式 - 现代c++11-优雅的多线程版本前言单例模式是23种设计模式中最常用的一种模式。一个类只能创建一个对象,让类自身负责保存它的唯一实例,并提供一个访问它的全局访问接口,这就是单例模式。Singleton类单例模式-instance私有-Singe原创 2021-06-17 11:48:07 · 1507 阅读 · 0 评论 -
c++11 多线程 条件变量(condition_variable)
文章目录前言一、条件变量`condition_variable`1、应用场景2、具体动作二、具体函数说明1、wait2、notify_one:3、wait_for4、wait_until三、消费者和生产者模型前言在C++11中,对于多线程的同步问题,我们可以使用条件变量condition_variable;当条件不满足时,相关线程被一直阻塞,直到某种条件出现,该线程才会被唤醒。condition_variable类的成员函数如下:一、条件变量condition_variable条件变量是利用线程间原创 2021-06-06 14:52:26 · 727 阅读 · 0 评论