随笔分类 - C++ / C++多线程
摘要:异步编程 async 、future 基本概念和使用: 异步执行函数:std::async 可以异步执行一个函数,这意味着函数将在后台线程中执行,而当前线程可以继续执行其他任务。 返回值获取:你可以获得函数的返回值,或者得到一个 std::future 对象,它允许你在将来的某个时刻获取函数的结果。
阅读全文
摘要:线程池 Thread Pool 线程池简单来说就是用来管理多个线程的,以避免频繁开辟或销毁线程的情况。 以下是创建和使用线程池的基本步骤: 创建一个任务队列,用于存储待执行的任务。 创建一组线程,这些线程会从任务队列中获取任务并执行它们。 将任务提交到任务队列中,由线程池的线程异步执行。 线程池会不
阅读全文
摘要:互斥锁 std::mutex 当涉及到多线程编程时,互斥锁(Mutex)是一种同步机制,用于保护共享资源免受并发访问的影响。以下是一个简单的C++互斥锁示例: #include <iostream> #include <thread> #include <mutex> std::mutex mtx;
阅读全文
摘要:什么是线程? 在计算机科学中,线程是进程中的一个执行控制单元,也被称为执行路径。每个进程可以包含多个线程,每条线程并行执行不同的任务。线程是操作系统可识别的最小执行和调度单位。 进程和线程的区别 进程是程序在某个数据集合上的一次运行活动,也是操作系统进行资源分配和保护的基本单位。每个进程都有独立的地
阅读全文