关于workerQ队列的问题
来源:16-4 队列实现调度器

weibo_北桥_03164202
2020-06-10
老师好,select的时候第三个case 会把workerQ里面的第一个worker消除掉,但是 creatWorker 的次数是根据ConcurrentEngine里面的WorkerCount 属性,100的话 for循环一百次,等于创建100worker 放在workerQ,但是Quest的数量是不固定的,每一次Submit 就会放一个request进入requestQ中,两个数量不对等,怎么会运行成功呢
写回答
1回答
-
ccmouse
2020-06-10
这里每次都把requestQ中的第一个任务,发给workerQ中的第一个worker。这样的逻辑并不需要worker和request数量对等。一般requestQ会比较大,那么来不及分配的任务就等在那里排队,等排到第一个,并且有空的worker,就会被执行。
022020-06-11
相似问题