并发程序设计语言 第13,14章
并发程序设计语言 第13,14章
多CPU Concurrent 网络 大规模软件 Declarative 更关注如何描述问题本身 Deterministic Concurrent 冯诺依曼单机 网络环境 更关注描述冯诺依曼机如何执行 不同的软件开发方法 Im perative 小规模软件
• 多CPU • 网络 Concurrent Declarative Imperative Deterministic Concurrent 更关注如何描述问题本身 更关注描述冯诺依曼机如何执行 冯诺依曼单机 网络环境 小规模软件 大规模软件 不同的软件开发方法
主要内容 并发程序设计的基本概念 并发程序带来的问题 需要解决的基本问题 程序语言示例
主要内容: • 并发程序设计的基本概念 • 并发程序带来的问题 • 需要解决的基本问题 • 程序语言示例
并行与并发 并发( concurrency)和并行( parallelism)的概念 并发性( concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要 同一时刻发生 并行( parallelism)是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行 另一种理解: 并行强调的是多个执行活动同时处于运行状态之中,强调其相互独立性。这里关心并行算法、并行 系统、并行体系结构等等 并发强调的是多个执行活动之间的关系和相互作用,这里关心的是互斥、同步、通讯、资源的共享 和竞争等等 第三种解读: 并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多 个不同的任务。前者是逻辑上的同时发生( simultaneous),而后者是物理上的同时发生
并行与并发 并发(concurrency)和并行(parallelism)的概念 • 并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要 同一时刻发生。 • 并行(parallelism)是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行。 另一种理解: • 并行强调的是多个执行活动同时处于运行状态之中,强调其相互独立性。这里关心并行算法、并行 系统、并行体系结构等等 • 并发强调的是多个执行活动之间的关系和相互作用,这里关心的是互斥、同步、通讯、资源的共享 和竞争等等 第三种解读: • 并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多 个不同的任务。前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生
基本概念 并行程序设计模型 并行计算的硬件环境 程序与进程,线程与进程 ·原子动作 ·进程交互
基本概念 • 并行程序设计模型 • 并行计算的硬件环境 • 程序与进程,线程与进程 • 原子动作 • 进程交互