concurrent 和 paralle的区别在哪里?
有一些易混淆的概念,不知道具体的差别到底是什么?大家一起来讨论一下,也请达人们指点!
我先说说我的理解:
Concurrent Programming : 并发计算,感觉粒度较小,属于线程/进程级,甚至更细。
Asynchronous Programming :异步计算,指不用等待结果,即可先继续执行,等待结果回来后,在进行异步的处理。感觉和后面的Non-blocking programming 有点像。
Distributed Programming :分布式计算,这个粒度很粗,多个计算单元共同承担一项任务,具体是否并发,异步则不一定。
Parallel Programming :并行计算,这个和concurrent programming是我最分不清的地方,就不多说了...
Multithread Programming :多线程计算。是concurrent programming的实现方式之一。但是,即便应用是多线程的,实际运行起来,也不一定真的能concurrent。
Non-blocking Programming :和 Asynchronous Programming比较像,不多说了。
认识粗浅,大家见笑了:)
欢迎大家讨论!