首页 > 试题广场 >

对于A、B两种排队方式,说法正确的是

[单选题]
对于A、B两种排队方式,说法正确的是
  • 方式A效率更高
  • 方式B效率更高
  • 当排队的任务中有长耗时任务且比例较低时,方式B更具优势
  • 都不正确
推荐
C
因为当方式A中出现了长耗时任务,会降低那条任务队列的效率,相反B则能避免这个问题,当B中某个任务耗时是,其他任务会被分配到另一个上面
编辑于 2015-02-06 15:15:10 回复(0)
在***排队和银行排队的区别
发表于 2016-01-27 15:07:09 回复(12)
把第一种模型理解为单任务的。如果我们遇到了一个需要等待的IO操作,可能会让此进程阻塞,其他的进程得不到执行。如果其他进程等待时间很长的话,可能会导致其他进程饿死。
把第二种模型理解为并发的。举个例子,当我们设计一款类似于wps这样的文字处理软件的时候,我们可以开一个线程来与用户进行交互,开第二个线程来对读取进内存中的数据进行计算,当我们计算完了之后,可能需要把这些数据保存进磁盘中,这时候,我们可以开第三个线程来负责把数据写入磁盘中,我们知道,对于磁盘的读写操作是毫秒级别的(而对于内存的读写是纳秒级别的。不要觉得毫秒级别的时间很短,对于计算机来说已经很长了。对于大量数据排序都不一定需要毫秒),所以非常的慢,所以,如果我们把这个耗时比较长的操作专门交给一个线程来处理的话,就可以充分利用CPU。
编辑于 2017-11-04 21:33:15 回复(0)
假设a队列全是复杂任务,那么bc都结束了a才完成一半。显然不如让bc分担a的任务好。
发表于 2017-08-06 19:25:46 回复(0)
我觉得可以从这个角度分析:在三个线程都工作的情况下,两边的效率是相同的。主要区别在于A有大概率可能最后的时候出现只有一个线程工作 处理长时间任务
发表于 2017-04-20 17:27:01 回复(0)
三短一长选最长
发表于 2021-04-30 08:49:46 回复(0)
能否理解第二种为多路复用,BIO和Nio的区别呢
发表于 2021-04-05 16:07:18 回复(0)

A是否可以理解为多进程单线程

B是否可以理解为单进程多线程
发表于 2021-03-13 09:58:17 回复(0)

b是用了消息中间件啊


发表于 2019-09-01 08:39:34 回复(0)
效率高是尽可能的利用计算机的io和cpu资源,b选项 当任务队列中大部分是io耗时的任务时,三个进程会存在同时阻塞等待io不能处理计算任务的情况。
发表于 2019-05-11 08:07:39 回复(0)
左图中,比如第一个队列中,一个长耗时任务长期霸占资源,他后面的任务就会等待很久。而右图中可以较好的解决这个问题。长耗时任务后面的任务可以到别的“窗口”去
发表于 2017-09-12 21:30:08 回复(0)
负载均衡
发表于 2017-08-18 00:59:53 回复(0)
c的反面是两个,一个是都是短耗时任务,这个时候ab效率差不多,二是有一定比例的长耗时任务,a这边可以单独分一个队列给长耗时任务,这样整体的效率还会比b高
发表于 2016-12-08 00:47:14 回复(0)