
并发编程
文章平均质量分 77
易安__
这个作者很懒,什么都没留下…
展开
-
C++并发编程实战——第五章 基于锁的并发数据结构
【代码】C++并发编程实战——第五章 基于锁的并发数据结构。原创 2023-10-03 17:20:28 · 134 阅读 · 0 评论 -
C++并发编程实战——第四章 同步操作
基本类型间的简单运算,例如:3+3,6*9,或1.3/4.7。时间点就是时间戳,而时间戳是时钟的基本属性,不可以直接查询,其在C++标准中已经指定。是 C++ 标准库提供的一个用于将函数包装成可异步执行的任务的工具。来获取时间戳,该成员函数会返回一个数值,这个数值是指定时间点与UNIX时间戳的时间间隔。会阻塞至所有线程完成任务(因此称为屏障),当最后一个线程完成任务时,所有线程被释放,结合使用,以便在一个线程中执行任务,并在另一个线程中获取任务的结果。,它用一个值作为要等待的线程的数量来构造,调用。原创 2023-10-02 14:43:07 · 116 阅读 · 0 评论 -
“声名狼藉”的双重检查锁定
在学习《C++并发编程实战》的时候,作者提到了“声名狼藉”的双重检查锁定,但是对于其中潜在的条件竞争,有点模糊,这里稍微做点笔记。原创 2023-09-27 12:07:06 · 150 阅读 · 0 评论 -
C++并发编程实战——第三章 共享数据
这个错误,即使使用了互斥量,对栈内部数据进行保护也无法阻止条件竞争的发生,原因在于接口设计的问题,接口过多,在一个线程调用接口之间,可能有其他线程也进行了操作。,虽然不会产生未定义行为,但这种对同一值处理了两次的行为更为严重,因为看起来没有任何错误,很难定位 bug。访问共享数据前,将数据上锁,访问结束后,在解锁。其他线程必须等待数据解锁之后,才能访问。原因在于构造返回值的时候可能抛出异常,使元素弹出了,但是未返回造成数据丢失。,在单线程中是安全的,但在多线程中,检查非空之后,创建互斥量实例,成员函数。原创 2023-09-26 20:57:33 · 199 阅读 · 0 评论 -
C++并发编程实战——第二章 线程管理
除了用函数进行构造,还可以用函数对象,也就是仿函数进行构造。函数的线程,其他线程与主线程同时运行。会退出一样,其他线程执行完也会退出。简单的启动线程,就是构造。每个程序至少有一个执行。原创 2023-09-26 20:46:08 · 62 阅读 · 0 评论 -
C++并发编程实战——第一章 你好,并发世界
【代码】C++并发编程实战——第一章 你好,并发世界。原创 2023-09-26 20:45:17 · 93 阅读 · 0 评论