Concurrency vs Parallelism, Concurrent Programming vs Parallel Programming

THIS BLOG HAS BEEN MOVED TOtouchdreams.net/blog.

In the danger of hairsplitting, ...

ConcurrencyandparallelismareNOTthe same thing. Two tasksT1andT2are concurrent if the order in which the two tasks are executed in time is not predetermined,

  • T1may be executed and finished beforeT2,
  • T2may be executed and finished beforeT1,
  • T1andT2may be executed simultaneously at the same instance of time (parallelism),
  • T1andT2may be executed alternatively,
  • ...

If two concurrent threads are scheduled by the OS to run on one single-core non-SMT non-CMP processor, you may get concurrency but not parallelism. Parallelism is possible on multi-core, multi-processor or distributed systems.

Concurrencyis often referred to as a property of a program, and is a concept more general thanparallelism.

Interestingly, wecannotsay the same thing forconcurrent programmingandparallel programming. They are overlapped, but neither is the superset of the other. The difference comes from the sets of topics the two areas cover. For example, concurrent programming includes topic like signal handling, while parallel programming includes topic like memory consistency model. The difference reflects the different orignal hardware and software background of the two programming practices.

Update:More on Concurrency vs ParallelismTHIS BLOG HAS BEEN MOVED TOtouchdreams.net/blog.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值