单 cpu 多核为啥不用并行

forgottenPerson · 3 天前 · 2268 次点击

为何现在多核,不用并行,要用并发,是因为,l1,l2 是独立的,l3 缓存是共享的吗?在程序语言上也是支持并发,为啥程序语言上并发比比并行说的多?

有懂的老哥解点惑吗?

举报· 2268 次点击
登录 注册 站外分享
21 条回复  
my3157 小成 前天 00:03
https://joearms.github.io/published/2013-04-05-concurrent-and-parallel-programming.html
RightHand 小成 3 天前
可能是因为现代编程都是各种框架,隐藏了线程调度。导致感知不到并行能力。只能简单的说并发
YsHaNg 小成 3 天前
那你去读科学计算 openmp 文档不就满眼并行了 你不去看==人不说?
wy315700 小成 3 天前
@forgottenPerson #17 如果想要精准调用多核进行并行操作。可以手动绑定核心的啊。 https://www.duguying.net/article/set-cpu-affinity-binding-for-golang-program
forgottenPerson 楼主 初学 3 天前
@leonshaw 但是老哥,那你的言外之意不就是 go 运行时和操作系统调度器把协程调度到多个核上是个不常见的情况吗,但是问题来,了如果调度到多核这种情况不是普遍现象,而是恰好,那我其他的核不是浪费了,性能不是损失了吗
hefish 小成 3 天前
哈哈哈哈哈哈。。。。
leonshaw 小成 3 天前
@forgottenPerson 如果恰好被 Go runtime 和操作系统调度到几个核上同时运行就是并行。一般大家更关心系统能并发处理的任务数,而不是并行数。
minami 小成 3 天前
@forgottenPerson #4 是个锤子,你到底想讨论什么层级的并行并发,不同层级上的 task 完全是不同的含义。就单纯并行和并发两个词的区别,你看看 StackOverflow 的高赞就知道了 https://stackoverflow.com/questions/1050222/what-is-the-difference-between-concurrency-and-parallelism
mumbler 小成 3 天前
我猜你的意思是多线程和多进程区别吧,多线程是自己管理线程之间的调度,多进程是操作系统来管理进程之间的调度 这个问题,你跟大模型聊过吗,聊一会就清晰了吧
123下一页
返回顶部