并发程序设计

并发程序设计

1.顺序程序设计
顺序程序设计(sequential programming)方法是指,程序模块按语句次序顺序执行,具有如下特性:
执行的顺序性。
环境的封闭性。
执行结果的确定性。
计算结果的可再现性。

2.并发程序设计
并发程序设计(concurrent programming)方法是指,将一个程序分成若干可同时执行的程序模块,每个程序模块和它执行时所处理的数据就组成一个进程。具有如下特性:
并发性——[color=red]进程的执行在时间上可以重叠[/color],在单处理器系统中可以并发执行;在多处理器系统中可以并行执行。
共享性——进程可以共享变量,通过引用共享变量就能互相交换信号,[color=red]程序的运行环境不再是封闭的。[/color]
制约性——进程并发执行或协作完成同一个任务时,会产生相互制约关系,必须对它们并发执行的次序和相对执行速率加以协调。
交互性——由于进程可共享变量,一个程序的执行可能影响其他程序的执行结果,因此这种交互必须是有控制的,否则会出现不正确的结果。即使程序自身能正确运行,由于程序的运行环境不再是封闭的,[color=red]程序结果仍可能是不确定的[/color],[color=red]计算过程具有不可再现性。[/color]

采用并发程序设计的目的是:充分发挥硬件的并行性,消除处理器I/O设备的互等现象,提高系统效率。硬件能并行工作仅仅有了提高效率的可能性,而硬件并行工作的实现还需要软件技术去利用和发挥,这种软件技术就是并发程序设计。在程序设计语言、数据库管理系统和其他一些应用软件中,通过引入线程来改善系统和应用程序的性能。
并发多线程程序设计是指,在一个进程中包含多个并行执行的控制流。其主要优点是使系统性能获得很大提高,具体表现为快速切换线程、减少系统管理开销、线程通信易于实现、并发程度提高、节省内存空间等。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值