10 2023 档案

摘要:异步编程 async 、future 基本概念和使用: 异步执行函数:std::async 可以异步执行一个函数,这意味着函数将在后台线程中执行,而当前线程可以继续执行其他任务。 返回值获取:你可以获得函数的返回值,或者得到一个 std::future 对象,它允许你在将来的某个时刻获取函数的结果。 阅读全文
posted @ 2023-10-30 19:34 vLiion 阅读(476) 评论(0) 推荐(0) 编辑
摘要:线程池 Thread Pool 线程池简单来说就是用来管理多个线程的,以避免频繁开辟或销毁线程的情况。 以下是创建和使用线程池的基本步骤: 创建一个任务队列,用于存储待执行的任务。 创建一组线程,这些线程会从任务队列中获取任务并执行它们。 将任务提交到任务队列中,由线程池的线程异步执行。 线程池会不 阅读全文
posted @ 2023-10-30 16:20 vLiion 阅读(583) 评论(0) 推荐(0) 编辑
摘要:互斥锁 std::mutex 当涉及到多线程编程时,互斥锁(Mutex)是一种同步机制,用于保护共享资源免受并发访问的影响。以下是一个简单的C++互斥锁示例: #include <iostream> #include <thread> #include <mutex> std::mutex mtx; 阅读全文
posted @ 2023-10-30 04:36 vLiion 阅读(473) 评论(0) 推荐(0) 编辑
摘要:什么是线程? 在计算机科学中,线程是进程中的一个执行控制单元,也被称为执行路径。每个进程可以包含多个线程,每条线程并行执行不同的任务。线程是操作系统可识别的最小执行和调度单位。 进程和线程的区别 进程是程序在某个数据集合上的一次运行活动,也是操作系统进行资源分配和保护的基本单位。每个进程都有独立的地 阅读全文
posted @ 2023-10-29 17:02 vLiion 阅读(251) 评论(0) 推荐(0) 编辑
摘要:基于规则的优化 我们在写一些 mysql 语句时。可能会写一些耗费性能的语句。这时候我们可以利用查询重写将糟糕的语句转化成某种可以高效执行的形式。 条件化简 将我们写的复杂表达式进行简化。 1. 移除不必要的括号 举例: 可将SELECT * FROM (t1, (t2, t3)) WHERE .. 阅读全文
posted @ 2023-10-26 12:51 vLiion 阅读(81) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
🚀
回顶
展开