
高并发
文章平均质量分 77
li_ch_ch
万事皆因忙中错,好人半自苦中来
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA并发之BlockingQueue阻塞队列
前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列在数据结构中所起的作用大转载 2017-04-11 16:16:23 · 861 阅读 · 2 评论 -
BlockingQueue实现类 LinkedBlockingQueue源码分析
LinkedBlockingQueue实现了BlockingQueue接口以及Serializable接口,是有序的FIFO队列,构造函数中,可传入一个最大容量值,如果没有传入,则默认是Integer.MAX_VAL,(1) 生产者方法:put,offer(2)消费者方法:take,poll,peek原创 2017-04-12 15:57:55 · 1012 阅读 · 0 评论 -
java高并发之有返回值的多线程并发
需求: 工作流策略的一个节点,需要查询13个第三方的数据,并返回查询结果变量,由于时间的要求,必须实现并行查询,而且要求13个查询全部完成才能返回工作流节点。实现在节点创建13个线程并实现由返回值的线程并发。以下是实现参考的例子JAVA多线程实现的四种方式Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Th原创 2017-05-27 11:49:40 · 2709 阅读 · 0 评论 -
java高并发之CompletionService优化多线程并发
1:还是上个需求 工作流策略的一个节点,需要查询13个第三方的数据,并返回查询结果变量,由于时间的要求,必须实现并行查询,而且要求13个查询全部完成才能返回工作流节点。没看过上个帖子的可以看看 java高并发之有返回值的多线程并发 上一个帖子的实现是 执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了原创 2017-05-27 16:09:51 · 2105 阅读 · 0 评论 -
Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS
首先介绍一些乐观锁与悲观锁: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面的同步原语synchronized关键字的实现也是悲观锁。 乐观锁:顾名思义,就是很乐观,每次去拿数据的时候都转载 2017-06-16 17:02:40 · 683 阅读 · 0 评论 -
ExecutorService-中断线程的操作shutdown和shutdownNow
前言最近在使用ExecutorService的时候,对于与ExecutorService相关的概念有些迷糊,加上本身ExecutorService内部的有些方法名在取名上也容易让使用者误解,导致犯了一些错误。在解决的过程中,偶尔看到了日本人写的一篇文章简单明了,通俗易懂所以想着翻译成中文希望能够帮助到与我有一样困惑的程序员朋友们。原文地址如下:闲话少说,文章如下虽然使用Executo...原创 2019-09-17 18:57:30 · 2229 阅读 · 0 评论