Concurrency vs Parallelism, Concurrent Programming vs Parallel Programming
来源:互联网 发布:mac 重启后 壁纸 编辑:程序博客网 时间:2024/05/17 23:53
转自:http://blogs.oracle.com/yuanlin/entry/concurrency_vs_parallelism_concurrent_programming
By yuanlin on Jun 11, 2006
In the danger of hairsplitting, ...
Concurrency and parallelism are NOT the same thing. Two tasks T1 and T2 are concurrent if the order in which the two tasks are executed in time is not predetermined,
- T1 may be executed and finished before T2,
- T2 may be executed and finished before T1,
- T1 and T2 may be executed simultaneously at the same instance of time (parallelism),
- T1 and T2 may 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.
Concurrency is often referred to as a property of a program, and is a concept more general than parallelism.
Interestingly, we cannot say the same thing for concurrent programming and parallel 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 Parallelism THIS BLOG HAS BEEN MOVED TO touchdreams.net/blog.
- Concurrency vs Parallelism, Concurrent Programming vs Parallel Programming
- Concurrency vs Parallelism, Concurrent Programming vs Parallel Programming
- Concurrency vs Parallelism
- Concurrent and Parallel Programming
- Concurrency vs Parallelism From Stackoverflow
- 并发(Concurrency). VS 并行(Parallelism).
- Functional Programming vs. Imperative Programming
- Concurrent Programming 6:Using Threads for Concurrency
- assert vs Defensive programming
- Parallel Programming
- Java并发编程(Java Concurrency)(6) - 并发 vs. 并行(Concurrency vs. Parallelism)
- Garbage Collection: Serial vs. Parallel vs. Concurrent-Mark-Sweep
- Concurrent Programming
- Introduction to Parallel and Concurrent Programming in Python
- Parallel and Concurrent Programming in Haskell.pdf 英文原版 免费下载
- Win32 vs. ATL Windows Programming
- Win32 vs. ATL Windows Programming
- Object Repository VS Descriptive Programming
- 深入浅出之正则表达式(二)
- C# Read file on the remote PC
- Just in Time Compiler (JIT) in Hotspot
- 如何区分直连串口线和交叉串口线?
- oracle Sql 语句创建JOB
- Concurrency vs Parallelism, Concurrent Programming vs Parallel Programming
- 关于firmware的思考
- cocoa内存autorelease pool原理
- SurfaceView
- 传搜狐300万年薪挖角完美
- 经典书籍整理
- <supports-screens> 让你的layout适应屏幕的大小包括 平板
- Linux--查看主机配置
- java相对目录和绝对目录解析