摘要:
C++ 单例模式有两种写法: 饿汉模式 和 懒汉模式 饿汉模式: 优点:对象提前创建好,使用的时候无需等待,效率高 缺点:对象提前创建,所以占用内存高 以空间占时间 懒汉模式: 优点:使用对象时,对象才创建,不会提前占用内存 缺点:首次使用对象时,需要等待对象的创建,效率低 以时间换空间 饿汉模式: 阅读全文
posted @ 2023-06-18 23:57
十一的杂文录
阅读(23)
评论(0)
推荐(0)
摘要:
为了避免单例类在多线程中重复的创建,下面提供了两种解决方法: 1.互斥锁+双重检查 2.std::call_once() 方法一:互斥锁+双重检查 #include <iostream> #include <thread> #include <mutex> #include <list> using 阅读全文
posted @ 2023-06-18 23:19
十一的杂文录
阅读(43)
评论(0)
推荐(0)
摘要:
#include <iostream> #include <thread> #include <mutex> #include <list> #include <future> using namespace std; int myThread(int num) { cout << "myThrea 阅读全文
posted @ 2023-06-18 23:14
十一的杂文录
阅读(41)
评论(0)
推荐(0)
摘要:
*:如果 std::async 中传递参数 std::lunnch::deferred ,就需要等待调用 get() 或者 wait() 才会执行,并且代码非子线程运行,而是在主线程中执行 #include <iostream> #include <thread> #include <mutex> 阅读全文
posted @ 2023-06-18 23:12
十一的杂文录
阅读(69)
评论(0)
推荐(0)
摘要:
condition_variable 、 wait 、 notify_one 、 notify_all *:notify_one:通知(唤醒)一个线程 *:notify_all:通知(唤醒)多个线程 #include <iostream> #include <thread> #include <mu 阅读全文
posted @ 2023-06-18 23:09
十一的杂文录
阅读(104)
评论(0)
推荐(0)
摘要:
timed_mutex 、 try_lock_for 、 try_lock_until #include <iostream> #include <thread> #include <mutex> #include <list> using namespace std; class A { publ 阅读全文
posted @ 2023-06-18 23:04
十一的杂文录
阅读(80)
评论(0)
推荐(0)
摘要:
// *:这里的lock是函数模板,最少传两个互斥量 // 第一种,使用 lock 和 unlock std::mutex m_mutex1; std::mutex m_mutex2; std::lock(m_mutex1, m_mutex2); m_mutex1.unlock(); m_mutex 阅读全文
posted @ 2023-06-18 23:01
十一的杂文录
阅读(23)
评论(0)
推荐(0)
摘要:
*:使用 lock_guard 后,就不可以使用 lock() 和 unlock() *:lock_guard 和智能指针一样,会自动解锁 #include <iostream> #include <thread> #include <mutex> #include <list> using nam 阅读全文
posted @ 2023-06-18 22:59
十一的杂文录
阅读(21)
评论(0)
推荐(0)
摘要:
mutex 互斥量的作用是保护共享数据 *:有 lock() 就一定要有 unlock() #include <iostream> #include <thread> #include <mutex> #include <list> using namespace std; class A { pu 阅读全文
posted @ 2023-06-18 22:57
十一的杂文录
阅读(44)
评论(0)
推荐(0)
摘要:
前言: #include <thread> thread.join() // 阻塞 thread.detach() // 非阻塞 thread.joinable() // bool,判断线程是否支持join或者detach 正文: 创建线程有三种方式,分别是:使用函数来创建线程、使用自定义的类来创建 阅读全文
posted @ 2023-06-18 22:52
十一的杂文录
阅读(409)
评论(0)
推荐(0)
摘要:
C++ 20 format #include <iostream> #include <string> #include <format> using namespace std; int main() { /** C++20,让字符串拼接变的更简单 * 除了常规的 字符串,数字拼接,还支持宽字符, 阅读全文
posted @ 2023-06-18 22:38
十一的杂文录
阅读(934)
评论(0)
推荐(0)
摘要:
std::chrono::milliseconds stopTime(2000); std::this_thread::sleep_for(stopTime); 阅读全文
posted @ 2023-06-18 22:33
十一的杂文录
阅读(155)
评论(0)
推荐(0)


浙公网安备 33010602011771号