欧美在线-麻豆 孤注一掷 青鸟热潮 为什么多线程编程这样难?

麻豆 孤注一掷 青鸟热潮 为什么多线程编程这样难?

发布日期:2024-12-16 06:05  点击次数:80

麻豆 孤注一掷 青鸟热潮 为什么多线程编程这样难?

为什么多线程编程这样难呢?你有莫得想过这个问题麻豆 孤注一掷。

一边又一边

周末了,好意思好意思的睡个懒觉起来作念早饭,作念饭其实很节略,照着菜谱一步步来就行,没什么难度。

在你作念饭时转眼手机铃声大作,蓝本是线上出现了故障,其它共事正在排查,需要你协助一下,一边作念饭一边打电话应该也不算太难,你不错的。

正派你一边排查问题一边作念饭时本来约好未来来维修空调的师父因为互助不开提前一天来了,你不得不一边作念饭一边排查问题一边告诉维修师父哪个空调坏了、问题是啥。。怎样样,是不是运转唐突不外来了?

这还不算啥,就在这时你约好的同学也到了,一边招待同学一边指挥着维修师父一边排查问题一边作念早饭,你是不是一经运转疯了。

当多线程碰到分享麻豆 孤注一掷

麻豆 周处除三害

看到了吧,"多线程"毫不是在编程这个层面很难,多线程自己就很难。

尤其是当多线程遇上分享数据时更是难上加难,对东说念主类来说,同期作念两件互不骚动的事情照旧有可能的,一边写代码一边听歌便是,但你不错试试让两个任务分享听的身手,同期听两首歌;大概让两个任务分享大脑的想考身手,一边解bug一边刷算法,你还能恣虐加忻悦吗?

若是你试图推演多线程访谒分享数据那么你的脑海很可能就像刚才提到的“一边招待同学一边指挥这维修师父一边排查问题一边作念早饭”,一团糟。。东说念主类的大脑似乎天生就不是很擅长(天才不在此决议范围),更无须说因措置分享数据而带来的死锁等问题。

遇事未定量子力学

你的多线程代码可能在99.99%的情况下职责时常,但在小概率下便是会有问题,这齐不算啥,问题是你该怎样debug呢?

你该怎样调试一个可能只须万分之一出错的步调呢?况兼更棒的是,就像测不准旨趣不异,测量这操作自己真实不行幸免的扰乱了被测量粒子的教导状况,因此产生省略情味。

当你试图用调试器attach上去又大概加一些log时这自己也会更正多线程步调的算作,大概问题就此不再产生,又大概概率变为了十万分之一,从这个角度看多线程和量子力学有不谋而合之妙。

这里的根源在于“可能性的组合爆炸”问题。

由于操作系统的和解、系统中断再加上步调员添加的锁等原因,咱们的步调(线程)老是走走停停,这就导致在步调的“施行空间”上有太多可能,试图去测试每一种可能委果是不行能的事情,而咱们添加一些log等自己就给本来一经爆炸的组合新增一个维度,导致有的问题相称难复现。

尽管咱们的调试用具IDE等越来越高等,但依然措置不了多线程自己的问题。

性能是个问题

若是你不热心步调性能的话,大不错加上一个很粗糙的锁,但锁也不应该加的过分放飞自我,你能设想为了让北京的某个同学买一册书电商要把总共华北地区的库存锁住吗?

若是你热心性能的话那么锁的粒度会是个问题麻豆 孤注一掷,同期在硬件级别你可能需要了解多核cache一致性以及memory ordering等,这些齐不是那么容易见识,更无须提无锁编程,lock-free等等。



相关资讯
热点资讯
  • 友情链接:

Powered by 欧美在线 @2013-2022 RSS地图 HTML地图

Copyright Powered by365站群 © 2013-2024