国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java中SynchronousQueue的原理

java中SynchronousQueue的原理

java

头像

小妮浅浅

2021-02-08 19:26:043216浏览 · 0收藏 · 0评论

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.主要属性

// CPU的数量
static final int NCPUS = Runtime.getRuntime().availableProcessors();
// 有超时的情况自旋多少次,当CPU数量小于2的时候不自旋
static final int maxTimedSpins = (NCPUS < 2) ? 0 : 32;
// 没有超时的情况自旋多少次
static final int maxUntimedSpins = maxTimedSpins * 16;
// 针对有超时的情况,自旋了多少次后,如果剩余时间大于1000纳秒就使用带时间的LockSupport.parkNanos()这个方法
static final long spinForTimeoutThreshold = 1000L;
// 传输器,即两个线程交换元素使用的东西
private transient volatile Transferer<E> transferer;

通过属性我们可以Get到两个点:

1)这个阻塞队列里面是会自旋的;

2)它使用了一个叫做transferer的东西来交换元素;

2.构造方法

public SynchronousQueue() {
this(false);
}
public SynchronousQueue(boolean fair) {
transferer = fair ? new TransferQueue<E>() : new TransferStack<E>();
}

1)默认使用非公平模式,也就是栈结构;

2)公平模式使用队列,非公平模式使用栈;

3.TransferQueue

TransferQueue是SynchronousQueue的公平策略实现类,它在内部维护了一个线程队列。

public SynchronousQueue(boolean fair) {
    // 如果是公平模式就使用队列,如果是非公平模式就使用栈
    transferer = fair ? new TransferQueue<E>() : new TransferStack<E>();
}

以上就是java中SynchronousQueue的原理,相信大家现在已经能够理解SynchronousQueue的队列长度为0和公平模式的应用的情况了,而TransferQueue是实现公平模式的要点。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

适合做前看的MV| 免费看片| 双男主真人高清素材大全视频| 97人妻人人躁人人玩人人澡AV| 爸爸VICIUSSS幼儿小女孩| CSGO未满十八岁能玩多久| 18岁免费观看高清电视剧推荐| 男生困困进女生困困洞视频| 父亲开了两个女儿包演员表 | 成色18K1.8.35MB| 女人被公猪钻入子宫有报应吗| 征服公务员韵母王强最新章节列表| 美女被咬小头头视频大全| 《临时夫妻之孽缘》| 挺进朋友人妻张婉莹身体| 温柔的房东夫人免费观看电视剧| 小雪被房东CAO得合不拢腿| 爸爸汆肉的日常| 二人努力生猴子免费观看| 蜜桃成熟33D| 中字《喝醉的丈夫被结城送回家》| 教资| 妈妈装睡配合孩子阴阳调和| 三级产区和二级产区的区别与联系| 麻花MV在线看免费观看电视剧| 麻豆传媒| 女生全身照真实不像网图图片| 欧美人动物PPT免费模板大全| 被邻居伦流澡到高潮H漫画| 青梅竹马是消防员第一部| 噼辛啪啦噼呻啦叭叭叭啦啦叭 | 一品国精和二品国精的文化意义| 少妇被大黑捧猛烈进出动态图| 五姑娘影院在线观看免费版电视剧 | 《魅魔之耻》1~4集免费看| 适合做前看的短篇小说| 小寡妇在线观看免费播放电视剧| 1688黄桃网站进入页面| 半推半就干朋友老婆下一句怎么接| 泰剧《劈开你的腿》免费观看 | 年轻的妈妈