小编Ros*_*han的帖子

合作计划与抢先式计划?

Core Java:第1卷基础-> MultiThreading一章中

作者写道:

“所有现代台式机和服务器操作系统都使用抢占式调度。但是,诸如手机之类的较小设备可能会使用协作式调度。

我知道两种调度类型的定义/工作原理,但是想了解在较小的设备中为什么优先选择协作调度而不是抢占式调度的原因。

谁能解释原因?

java multithreading operating-system scheduling

8
推荐指数
2
解决办法
2824
查看次数

&bit运算符如何在这里工作?

在Java Collection类中,我经常注意到如下代码

  //ArrayDeque
    public E pollFirst() {
    int h = head;
    @SuppressWarnings("unchecked")
    E result = (E) elements[h];
    // Element is null if deque empty
    if (result == null)
        return null;
    elements[h] = null;     // Must null out slot
    head = (h + 1) & (elements.length - 1);
    return result;
}
Run Code Online (Sandbox Code Playgroud)

怎么head = (h + 1) & (elements.length - 1);办?为什么在这里使用&运算符以及它的用途是什么.

我的问题不是如何和有效,但它在这里有什么用处.

有人能解释一下吗?

java collections bit-manipulation

7
推荐指数
1
解决办法
81
查看次数