多线程编程
惊鸿一博
毕业于中国科学院大学/中科院自动化研究所;专注于SLAM,三维重建,图像处理,视觉定位等;曾就职于鸿海集团,大陆集团,现在某自动驾驶独角兽企业;热爱分享,热爱生活;欢迎一起交流,学习,进步。
展开
-
std::thread的常用参数传递总结
实参的生命周期给std::thread传递参数的时候要注意,参数是引用或者指针的情况下,要注意生命周期的问题#include <iostream>#include <thread>#include <chrono>#include <fstream>using namespace std::chrono_literals;void func_str(const std::string & str){ std::this_thr转载 2020-11-25 21:54:17 · 2824 阅读 · 0 评论 -
C++11多线程 unique_lock详解
1.unique_lock取代lock_guardunique_lock是个类模板,工作中,一般lock_guard(推荐使用);lock_guard取代了mutex的lock()和unlock();unique_lock比lock_guard灵活很多,效率上差一点,内存占用多一点。2. unique_lock的第二个参数lock_guard可以带第二个参数:std::lock_guard<std::mutex> sbguard1(my_mutex1, std::adopt转载 2020-11-23 10:26:30 · 501 阅读 · 0 评论 -
理解线程/多线程处理数组(MultiThreaded dealing with arrays)
1、理解线程 要讲解线程,不得不说一下进程,进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它系统资源组成。进程在运行时创建的资源随着进程的终止而死亡。线程的基本思想很简单,它是一个独立的执行流,是进程内部的一个独立的执行单元,相当于一个子程序,它对应于Visual C++中的CwinThread类对象。单独一个执行程序运行时,缺省地包含的一个主线程,主线程以函数地址原创 2017-05-27 14:06:51 · 5746 阅读 · 1 评论