C++11并发编程(一):初步探析
发布时间
阅读量:
阅读量
核心概念界定
Ⅰ.背景
C++11标准中最核心的新增功能之一便是对多线程程序的支持。在语言层面正式认可多线程应用的存在,并通过库中的相关组件为开发多线程程序提供支持。这一特性使得开发者能够摆脱对特定平台的依赖,从而实现跨平台的多线程编程,同时显著提升了程序的可移植性。
并发概念与特性解析
1.计算机系统中的并发
在计算机科学领域,"并发"这一概念指的是在一个系统内部,能够真正同时运行多个相互独立的操作或任务。这种运行方式并非按照顺序依次执行,而是通过某种机制实现并行处理。
过去,由于任务切换速度较快,人们会产生一种任务同时进行的错觉,但这并不等同于真正的并发。
只有当计算机具备多核处理器或者多个处理器时,才能实现多个任务的真正并行执行,此时才被称为硬件层面的并发。
在设计系统时,最关键的因素是硬件线程的数量:即系统可以同时运行多少个独立的任务。即便是在拥有真正硬件并发能力的系统中,也常常会遇到需要执行的任务数量超过硬件并行能力的情况。因此,在这些情况下仍需依赖任务切换机制来协调处理。
2.并发的途径
多进程并发
将应用程序划分为若干个彼此独立且单线程运行的进程,并使其在同一时刻内执行。
这些独立进程之间可以通过常规的进程间通信方式交换信息与数据。
多线程并发
在一个进程中创建并运行
全部评论 (0)
还没有任何评论哟~
