java吧 关注:1,252,017贴子:12,737,519
  • 10回复贴,共1

菜鸟求助!多线程里的并发是什么意思

只看楼主收藏回复



IP属地:海南1楼2015-07-30 21:27回复
    犹如多个男人同时抢一个女人。


    IP属地:广东2楼2015-07-31 10:11
    回复
      就是一次好多发


      IP属地:江苏来自Android客户端3楼2015-07-31 12:31
      回复
        就是一个人建房子要一天,24个人建房子只要一个小时。


        IP属地:广东4楼2015-07-31 13:20
        收起回复
          不对,楼上那个叫并行。
          并发指的是:房子只能同时有1个人盖,但是每个人都想盖,那就排队每人1小时,然后排最后的人将要等23小时,这是何等巨大的延迟?那么换个方案,每人上去盖1分钟就换人,这样一来,每个人只需要23分钟就可以过把瘾,然后24小时后(基本上会更多)建造完成,这样看起来每个人只实际干了1个小时,但却花去了整整一天,这种方式叫“时间片轮转调度”。可见,并发不是为了提升效率,而是为了让某个工作尽快开始,减少延迟,尽量公平。
          那我们为什么还要用多线程?这是因为编程语言会对线程调度进行优化,每个人手上都有一摞砖,用完了就要去搬,当前一个人离开去搬砖的时候,后一个人会赶紧补位,绝不让房子闲着,通过提高资源利用率的手段来间接提高效率,这种手段通常会因为硬件问题起反作用。
          总而言之,多线程不等于高效率。
          以上所有言论基于单CPU
          而并行是通过增加硬件的方式真正实现同时工作以增加效率。
          个人理解,请路过的高人指正。


          5楼2015-07-31 17:58
          收起回复
            学会百度。以下来自百度百科。
            并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。


            IP属地:四川6楼2015-07-31 18:00
            回复
              伪并发


              IP属地:四川来自iPhone客户端9楼2015-08-01 00:31
              回复