- 博客(3)
- 收藏
- 关注
原创 c++原子操作
原子变量确保在多线程环境中,对变量的读写操作是线程安全的,即操作不会被其他线程干扰中断。对原子变量进行的不可分割的操作。③memory_order_release:写操作不被重排到此操作之前。fetch_xor():原子按位异或运算,返回之前的值。exchange():原子存储到对象中,返回之前的值。fetch_and():原子按位与运算,返回之前的值。fetch_or():原子按位或运算,返回之前的值。fetch_add():原子增加值,返回之前的值。fetch_sub():原子减少值,返回之前的值。
2025-02-14 20:02:39
387
原创 c++读写锁
读写锁是一种读写机制,用于控制对共享资源的访问,允许多个线程同时读取资源,写入资源时只允许一个线程独占访问。③多个线程拿到共享锁之后,在同一时间,只允许一个线程拿到独占锁,并且其他线程不能再持有共享锁或独占锁。shared_lock和unique_lock配合对shared_mutex锁进行管理,实现读写锁。用于管理std::shared_mutex的共享锁,能自动获取和释放共享锁。会发现读线程的打印是乱的,写线程是规整的,因为读读不互斥,写是互斥的。②持有锁的线程可以写入共享资源。适用于读多写少的场景。
2025-02-12 18:08:07
449
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人