#程并发

boost并发编程boost::atomic

三个用于并发编程的组件:atomic,thread,asio(用于同步和异步io操作) atomic,封装了不同计算机硬件的底层操作原语,提供了跨平台的原子操作功能,解决并发竞争读写变量的困扰。包含头文件<boost/atomic.hpp>,atomic可以把对类型T的操作原子化,T的要求:1.标...
代码星球 ·2020-08-05

Java并发编程:并发容器之ConcurrentHashMap(转载)

下面这部分内容转载自:  http://www.haogongju.net/art/2350374  JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程...

C++11 并发指南后续更新

C++11并发指南的第一篇是2013年8月3号写的,到今天(2013年8月31号)差不多一个月了,前前后后共写了6章(目前共8篇)博客介绍C++11的并发编程,但还差atomic和C++11内存模型两章还在草稿中。今天回顾一下之前写的博客,发现内容还远远不够,很多东西都还没有完成,和自己计划差距还很远,我也想把这个系列...

C++11 并发指南七(C++11 内存模型一:介绍)

第六章主要介绍了C++11中的原子类型及其相关的API,原子类型的大多数API都需要程序员提供一个std::memory_order(可译为内存序,访存顺序)的枚举类型值作为参数,比如:atomic_store,atomic_load,atomic_exchange,atomic_compare_exchange等AP...

C++11 并发指南三(Lock 详解)

在《C++11并发指南三(std::mutex详解)》一文中我们主要介绍了C++11标准中的互斥量(Mutex),并简单介绍了一下两种锁类型。本节将详细介绍一下C++11标准的锁类型。C++11标准为我们提供了两种基本的锁类型,分别如下:std::lock_guard,与MutexRAII相关,方便线程对互斥量上锁。s...

C++11 并发指南六(atomic 类型详解四 C 风格原子操作介绍)

前面三篇文章《C++11并发指南六(atomic类型详解一atomic_flag介绍)》、《C++11并发指南六(<atomic>类型详解二std::atomic)》、《C++11并发指南六(atomic类型详解三std::atomic(续))》都是采用C++的方式介绍原子对象,本节我会给大家介绍C++11...

C++11 并发指南六(atomic 类型详解三 std::atomic (续))

C++11并发指南六(<atomic>类型详解二std::atomic)介绍了基本的原子类型std::atomic的用法,本节我会给大家介绍C++11标准库中的std::atomic针对整形(integral)和指针类型的特化版本做了哪些改进。总地来说,C++11标准库中的std::atomic针对整形(i...

C++11 并发指南六( <atomic> 类型详解二 std::atomic )

C++11并发指南六(atomic类型详解一atomic_flag介绍) 一文介绍了C++11中最简单的原子类型std::atomic_flag,但是std::atomic_flag过于简单,只提供了test_and_set和clear两个API,不能满足其他需求(如store,load,exchange,c...

C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)

C++11并发指南已经写了5章,前五章重点介绍了多线程编程方面的内容,但大部分内容只涉及多线程、互斥量、条件变量和异步编程相关的API,C++11程序员完全可以不必知道这些API在底层是如何实现的,只需要清楚C++11多线程和异步编程相关API的语义,然后熟加练习即可应付大部分多线程编码需求。但是在很多极端的场合下为了...

C++11 并发指南五(std::condition_variable 详解)

前面三讲《C++11并发指南二(std::thread详解)》,《C++11并发指南三(std::mutex详解)》分别介绍了std::thread,std::mutex,std::future等相关内容,相信读者对C++11中的多线程编程有了一个最基本的认识,本文将介绍C++11标准中<condition_va...

C++11 并发指南四(<future> 详解三 std::future & std::shared_future)

上一讲《C++11并发指南四(<future>详解二std::packaged_task介绍)》主要介绍了<future>头文件中的std::packaged_task类,本文主要介绍std::future,std::shared_future以及std::future_error,另外还会介绍...

C++11 并发指南四(<future> 详解二 std::packaged_task 介绍)

上一讲《C++11并发指南四(<future>详解一std::promise介绍)》主要介绍了<future>头文件中的std::promise类,本文主要介绍std::packaged_task。std::packaged_task包装一个可调用的对象,并且允许异步获取该可调用对象产生的结果,...

C++11 并发指南四(<future> 详解一 std::promise 介绍)

前面两讲《C++11并发指南二(std::thread详解)》,《C++11并发指南三(std::mutex详解)》分别介绍了std::thread和std::mutex,相信读者对C++11中的多线程编程有了一个最基本的认识,本文将介绍C++11标准中<future>头文件里面的类和相关函数。<fu...

C++11 并发指南九(综合运用: C++11 多线程下生产者消费者模型详解)

前面八章介绍了C++11并发编程的基础(抱歉哈,第五章-第八章还在草稿中),本文将综合运用C++11中的新的基础设施(主要是多线程、锁、条件变量)来阐述一个经典问题——生产者消费者模型,并给出完整的解决方案。生产者消费者问题是多线程并发中一个非常经典的问题,相信学过操作系统课程的同学都清楚这个问...

C++11 并发指南三(std::mutex 详解)

上一篇《C++11并发指南二(std::thread详解)》中主要讲到了std::thread的一些用法,并给出了两个小例子,本文将介绍std::mutex的用法。Mutex又称互斥量,C++11中与Mutex相关的类(包括锁类型)和函数都声明在<mutex>头文件中,所以如果你需要使用std::mutex...
首页上一页...2021222324...下一页尾页