弱弱的问: 如果是只有一个CPU的电脑,能做并行计算吗?

2014-01-24 03:19:28 +08:00
 meteor2013
3789 次点击
所在节点    问与答
13 条回复
clino
2014-01-24 09:06:11 +08:00
多核当然可以啦
单核应该也可以吧,总是有一些如磁盘IO,网络传输等需要等待的,这时候可以切换到其他的线程或者协程去执行吧,不过这种在同一时间只会跑单个线程
dialox
2014-01-24 09:20:12 +08:00
能做,效率没有多核电脑高
yangqi
2014-01-24 09:39:39 +08:00
多核的可以, 单核的就失去意义了
a591826944
2014-01-24 09:53:28 +08:00
应该不能吧,只能在多个进程之间快速切换。。。
meteor2013
2014-01-24 10:58:30 +08:00
@a591826944
@yangqi
你们的意思是单CPU“不能”并行计算

@clino
@dialox
你们的意思是单CPU“可以”并行计算



我有点晕了。大家能不能举点例子来说明啊
pright
2014-01-24 11:00:48 +08:00
并行和并发是不同的,单核没法并行
clino
2014-01-24 11:22:52 +08:00
@pright 很巧,刚刚看到 @kwd98 发的 google 视频 http://v2ex.com/t/98004#reply89
里面刚好说到这个:"Cocurrency is not paralielism", 我最上面说的应该是 cocurrency ,楼主说的应该是 paralielism.单核应该是没法支持paralielism即并行的
kevinv
2014-01-24 11:28:52 +08:00
单核cpu可以并发,不可以并行;并行只能是多核和多cpu才能干的事情。
kwd98
2014-01-24 11:36:46 +08:00
@clino @pright 其实Rob Pike专门搞了个演讲来区分二者之间的区别。图文并茂,简单易懂。
视频: <amp-youtube data-videoid="cN_DpYBzKso" layout="responsive" width="480" height="270"></amp-youtube>Slide: http://talks.golang.org/2012/waza.slide#1
yangqi
2014-01-24 12:56:48 +08:00
@meteor2013 你说的单cpu如果是多核的就可以并行计算, 如果是单核的话就不行而且也没有意义
dreampuf
2014-01-24 13:36:12 +08:00
from @kwd98 给的slides:

Concurrency is about dealing with lots of things at once.
Parallelism is about doing lots of things at once.
Not the same, but related.
Concurrency is about structure, parallelism is about execution.
Concurrency provides a way to structure a solution to solve a problem that may (but not necessarily) be parallelizable.
luikore
2014-01-24 16:02:11 +08:00
并行计算用那几个核哪有千核的显卡好使...
lightening
2014-01-24 17:08:48 +08:00
有 GPU 可以用 GPU 并行计算。单核 CPU 只能并发,不能并行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/98163

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX