11 2019 档案
C++并发与多线程学习笔记--atomic
摘要:std::atomic std::async std::atomic 一般atomic原子操作,针对++,--,+=,^=是支持的,其他结果可能不支持。 注意 很多时候,写程序简单就是美,不太建议把程序写得复杂。多线程程序要求稳定,然后在稳定的基础上去扩展功能。 std::async参数详解 asy
C++并发与多线程学习笔记--future成员函数、shared_future、atomic
摘要:std::future的其他成员函数 std::shared_future 原子操作、概念、基本用法 多线程主要是为了执行某个函数,本文的函数的例子,采用如下写法 std::future的其他成员函数 成员函数wait_for有三个返回值 如果遇到以下情况 1)主线程等待子线程执行完毕,然后返回结果
C++并发与多线程学习笔记--async、future、packaged_task、promise
摘要:async future packaged_task promise async std:async 是个函数,用来启动一个异步任务,启动起来一个异步任务之后,返回一个std::futre对象,启动一个异步任务,就是自动创建一个线程并开始执行对应的线程入口函数,它返回一个std::future对象,
C++并发与多线程学习笔记--线程之间调度
摘要:condition_variable wait() notify_one notify_all condition_variable 条件变量的实际用途: 比如有两个线程A和B,在线程A中等待一个条件满足,(消息队列中有要处理的消息),线程B专门往队列中丢数据。当B往线程中放入数据,同时B通知线程A
信号与系统--正弦信号和指数信号
摘要:正弦信号 指数信号 正弦信号 连续正弦信号的定义: 其中,A为振幅,和频率有关,是相位 python绘制连续正弦信号例子(注意计算机中保存的都是离散的数字,这里之所以能绘制出连续的正弦信号是因为精度和描点,看起
C++并发与多线程学习笔记--单例设计模式、共享数据分析
摘要:设计模式 共享数据分析 call_once 设计模式 开发程序中的一些特殊写法,这些写法和常规写法不一样,但是程序灵活,维护起来方便,别人接管起来,阅读代码的时候都会很痛苦。用设计模式理念写出来的代码很晦涩,国内的05~10年的时候有一本“Head First”,写程序的时候谈到设计模式。 项目开发
C++并发与多线程学习笔记--unique_lock详解
摘要:unique_lock 取代lock_quard unique_lock 的第二个参数 std::adopt_lock std::try_to_lock std::defer_lock unique_lock的成员函数 lock() unlock() try_to_lock() release()
C++并发与多线程学习笔记--互斥量、用法、死锁概念
摘要:互斥量(mutex)的基本概念 互斥量的用法 lock(), unlock() std::lock_guard类模板 死锁 死锁演示 死锁的一般解决方案 std::lock()函数模板 std::lock_guard的std::adopt_lock参数 lock(), unlock() std::l
MongoDB教程--配置与入门
摘要:MongoDB简介 阿里云配置MongoDB 数据库的增删查改 MongoDB 数据最重要的操作是Key-Value的映射。有了这样的映射,可以直接通过关键字去寻找想要的值。例如,通过用户的ID寻找与用户的相关信息,直接通过映射f(用户)=信息。 百度百科介绍: MongoDB是一个基于分布式文件存
C++并发与多线程学习笔记--多线程数据共享问题
摘要:创建和等待多个线程 数据和共享问题分析 只读的数据 有读有写 其他案例 共享数据的保护案例代码 只读的数据 有读有写 其他案例 创建和等待多个线程 服务端后台开发就需要多个线程执行不同的任务。不同的线程执行不同任务,并返回执行结果。很多个线程都用同一个线程入口: 小结: 1)多个线程的执行顺序是乱的
C++并发与多线程学习笔记--参数传递详解
摘要:传递临时对象 陷阱 总结 临时对象作为线程参数 线程id的概念 临时对象构造时的抓捕 成员函数指针做线程函数 陷阱 总结 线程id的概念 临时对象构造时的抓捕 传递临时对象作为线程参数 创建的工作线程不止一个,线程根据编号来确定工作内容。每个线程都需要知道自己的编号。线程中有很多容易犯错的写法 例子
C++并发与多线程学习笔记--基本概念和实现
摘要:基本概念 并发 可执行程序、进程、线程 学习心得 并发的实现方法 多进程并发 多线程并发 总结 C++标准库 并发 可执行程序、进程、线程 学习心得 多进程并发 多线程并发 总结 基本概念 (并发、进程、线程)区分C++初级编程和中高级编程 并发 两个或者更多的任务同时进行:一个程序同时执行多个任务