并发编程: 1. 并发基础

c++11标准最重要的新特性之一就是支持多线程。首次接纳原生语言层面的多线程应用,并在标准库中为之提供组件。这使得多线程C++应用程序的编写无需依赖平台的专属扩展,得以写出可移植的、行为确定的多线程代码。

本系列主旨介绍运行多线程编写C++并发程序。

1. 并发的定义

包括多任务操作系统任务切换和基于多处理器的“真并发”。

1.1 并发的方式

多进程和单进程多线程。

多进程并发:需要进程间通信,固定开销大,更容易编写出安全的并发代码。

多线程并发:同一进程内所有线程都共用相同的空间地址,且所有线程都能直接访问大部分数据。额外开销更低,c++并不直接支持进程间通信,所以采用多进程的应用不得不依赖于平台专属的API。

1.2 并发与并行

并发和并行的差别甚小,主要是着眼点和使用意图不同。两个术语都是指使用可调配的硬件资源同时运行多个任务,但并行更强调性能。当人们谈及并行时,主要关心的是利用可调配的硬件资源提升大规模数据处理的性能;当谈及并发时,主要关心的是分离关注点或响应能力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值