
多线程
文章平均质量分 84
cpp多线程
落雨便归尘
大三在读,爱cpp,爱go,爱后端,爱生活
展开
-
多线程进阶——线程池的实现
池化技术是一种资源管理策略,它通过重复利用已存在的资源来减少资源的消耗,从而提高系统的性能和效率。在计算机编程中,池化技术通常用于管理线程、连接、数据库连接等资源。我们会将可能使用的资源预先创建好,并且将它们创建在一个池中,当需要使用这些资源时,直接从池中获取,使用完毕后再将它们归还到池中,而不是每次都创建和销毁资源。池化技术的引用场景十分广泛,例如线程池、数据库连接池、对象池等,今天我们主要要探讨的就是线程池。原创 2024-10-24 19:16:20 · 1070 阅读 · 0 评论 -
多线程拓展—— RAII与 智能指针
在前面的章节中,我们介绍了多线程编程中的基本概念,包括线程的创建、同步、互斥等。在锁的介绍那篇文章中我们介绍了锁的包装器与lock_guard,它们都是基于RAII(Resource Acquisition Is Initialization)原则的智能指针。RAII是一种编程范式,它使用对象的生命周期来管理资源的分配和释放。在多线程编程中,RAII可以有效地避免资源泄露和死锁等问题。而这篇文章我们将从RAII开始,探究c++11后内存管理的一些新特性.原创 2024-10-10 22:57:31 · 745 阅读 · 0 评论 -
多线程实践(一)——# 基于多线程实现的并发服务器
【代码】多线程实践(一)——# 基于多线程实现的并发服务器。原创 2024-10-08 00:16:45 · 497 阅读 · 0 评论 -
c++进阶篇——初窥多线程(五) 条件变量与信号量
条件变量是线程间同步的一种机制,它允许一个或多个线程在某些条件满足时被唤醒,从而继续执行。condition-variable:提供与 std::unique_lock关联的条件变量condition_variable_any:提供与任何锁类型关联的条件变量两者的主要区别在于,condition_variable_any可以凭借来与任何类型的锁一起使用,而condition_variable只能与std::mutex一起使用。原创 2024-10-06 19:35:31 · 1326 阅读 · 0 评论 -
c++进阶篇——初窥多线程(四) 线程同步的概念以及锁
线程同步是指多个线程在执行过程中,由于共享资源,导致数据不一致的问题。i原创 2024-10-04 12:05:14 · 963 阅读 · 0 评论 -
c++进阶篇——初窥多线程(三)cpp中的线程类
C++11引入了`std::thread`,提供对并发编程的支持,简化多线程创建并增强可移植性。`std::thread`的构造函数包括默认构造、移动构造及模板构造(支持函数、lambda和对象)。`thread::get_id()`获取线程ID,`join()`确保线程执行完成,`detach()`使线程独立,`joinable()`检查线程状态,`operator=`仅支持移动赋值。`thread::hardware_concurrency()`返回CPU核心数,可用于高效线程分配。原创 2024-06-24 17:52:53 · 995 阅读 · 0 评论 -
c++进阶篇——初窥多线程(二) 基于C语言实现的多线程编写
本文介绍了C++中使用C语言的pthread库实现多线程编程。`pthread_create`用于创建新线程,`pthread_self`返回当前线程ID。示例展示了如何创建线程并打印线程ID,强调了线程同步的重要性,如使用`sleep`防止主线程提前结束导致子线程未执行完。`pthread_exit`用于线程退出,`pthread_join`用来等待并回收子线程,`pthread_detach`则分离线程。文中还提到了线程取消功能,通过`pthread_cancel`实现。这些基本操作是理解和使用C/C+原创 2024-06-21 23:28:09 · 1034 阅读 · 0 评论 -
c++理论篇——初窥多线程(一) 计算机内存视角下的多线程编程
虚拟内存可以用来加载数据,一般是物理内存不够存放的话会放到虚拟内存中虚拟内存所对应的是一段连续的内存地址,起始位置为0(注意:之所以说虚拟,是因为这个起始位置是被虚拟出来的,并不是物理内存的0地址虚拟内存的大小一般也是由操作系统所决定的,比如32位操作系统的虚拟地址空间大小为2^32位,64位操作系统的大小则是2^64位,每当我们在电脑上运行一个可执行程序的时候,就会得到一个进程,内核会给每一个运行的进程创建一块独属于它们的虚拟内存地址空间,并且将应用程序的数据装载到虚拟地址空间对应的地址上。原创 2024-06-18 00:36:08 · 830 阅读 · 0 评论