韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > 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是实现公平模式的要点。

关注

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

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

双乳被四个男人吃奶| 《玉蒲团2之艳乳欲仙欲》| 女孩发育图片(真人)| 干爹你真棒插曲免费看 | 皇空无限MV国产剧入选精彩| 懵懂少女的挨日常TXT百度云资..| 教练在泳池下添我做爰| 国产在线观看免费全集电视剧网站| 共享女儿小诗1~10章的背景资...| 伦理《少妇的滋味》完整版| 日本大片又大又好看的PPT| 美国大片又大又好看的PPT| 苍老师40集全免费播放| 星空无限传媒免费观看电视剧 | 天秤座运势| 韩浸免费浸画在线观看阅读| 调教男爵夫人| 《艳乳欲乱2》免费观看| 久久久久久精品国产三级涨奶| 男人吸吮完乳房应该怎么处理 | 欧美-区| 妈妈的新男友| 乱肉辣伦短文(全肉)| 爸爸的大DJ小说| 小妹妹爱大棒棒免费观看电视剧 | 免费的行情网站WWW下载大全| 小寡妇在线观看免费播放电视剧 | 欧美VOCAL的RAPPER| 绝色儿媳在线观看免费版电视剧 | 美国式禁忌| 兜兜动漫| 结核菌素| 风流夫人免费观看高清电视剧 | 高三妈妈用性缓解孩子压力| 《请好好疼爱里面》免费观看| 17CC吃瓜网最新爆料新闻| 女士穿紧身裸体开裆光滑皮裤| 《师生恋:禁忌之恋》结局| 中国VITAFUSION孕妇| 做一次爱下面多久才能恢复| 女生干多了腿中间会变宽吗