美文网首页
Too Much - CSAPP C12

Too Much - CSAPP C12

作者: Doye | 来源:发表于2019-02-11 15:50 被阅读0次

正如fucking real world,总有貌似搞不完的工作,浩瀚无际的信息向我们迎面而来。而我们的脑袋只有一个,无法多去处理那些纷繁的事务,需要进行规划和执行,可以像上班一样一天只做一件事,也可以像上学一样一天切换多节课。
计算机面临的问题与我们相同,只有一个处理器核心(多核大多也被抽象成单核来利于编程),所以前人们就需要用并行和同步这两个概念去应对处理现实的那些缤繁的问题
并行对于我们并不直观。我们大脑是一个非常精妙的系统,所采取的并行策略是一明一暗两条线,我们日常感知的明线是线性的,于是就和计算机中并行的概念冲突了,所以概念并不直观。时间这个概念亦是,所以对于问题我们先要在脑中抽象出这样一个这么一些概念,然后去映射到编程当中,这个过程由于反直觉,会产生一些常见的问题,例如竞争条件、死锁和活锁。
我们也并不孤独,处理并发思路构建与前人的智慧之上。根据系统层级,和实现方式,有三大类

  • 基于进程
    内核自动管理多个逻辑流
    每个进程有其私有的地址空间(也就是说进程切换的时候需要保存和载入数据)
  • 基于事件
    由程序员手动控制多个逻辑流
    所有的逻辑流共享同一个地址空间
    这个技术称为 I/O multiplexing
  • 基于线程
    内核自动管理多个逻辑流
    每个线程共享地址空间
    属于基于进程和基于事件的混合体

用强大的逻辑和抽象把并行能够执行之后还有一个非常重要的问题,那就是数据的同步,并行任务逻辑往往会交织,所以需要一些方法去保证并行中数据的同步,主要有

  • 共享变量
  • 临界区 Critical Section
  • 信号量

这个领域也有着两个经典的模版问题

  • 生产者-消费者问题
  • 读者-写者问题

给这个纷杂的世界一些假设和先验,世界的运行就变得有逻辑可循

相关文章

  • Too Much - CSAPP C12

    正如fucking real world,总有貌似搞不完的工作,浩瀚无际的信息向我们迎面而来。而我们的脑袋只有一个...

  • 301 way too much, far too much,

    Means too much If the quantity becomes too big, much is p...

  • Too much

    That is just too much for me, and too much for my body. I...

  • 【单词】“你想太多了!”英文怎么讲?

    think too much 想的太少,就只会用think too much。 ? You think too m...

  • march~twenty fiveth

    I am drunk again.And talk too much.much.much......

  • Too much

    减,简 补充:一事,一物,三思,需要它吗?需要做吗?费时间,空间,精力吗?真的要吗? 断舍离

  • too much

    换季毫无意外的又感冒了 即使烧糊涂了也要赶在最后期限前把老板的普刊给交了 这爱岗敬业的精神真是自己都被感动了 今天...

  • Too Much

    太多抉择 太多坏毛病 坏毛病是身体的器官 独享一寸方土 取代一个器官需要三寸方土 所以人才会肥胖 就像谎言 一个谎...

  • TOO MUCH

    Coding is like telling a long story It ends when the proj...

  • muchtoo,toomuch,和toomany怎么来区别呢

    文字/稀有的鱼儿 同学们在做试题的时候会经常遇到much too 和too much, too many这几个词组...

网友评论

      本文标题:Too Much - CSAPP C12

      本文链接:https://www.haomeiwen.com/subject/lhfqeqtx.html