![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
Turing·
不积小流无以成江海
展开
-
Condition生产者消费者
package com.qyc.test;/** * @CreatAuthor: qiangyuecheng * @CreatDate: 2021/4/15 11:01 下午 */import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurre.原创 2021-04-15 23:25:15 · 72 阅读 · 0 评论 -
等待线程池中线程执行完毕
利用原子计数器技术,等于任务数时返回package com.qyc.service.impl;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.qyc.entity.HaxxData;import com.qyc.service.ShowBigService;import org.springframework.beans.factory.annotation.Autowired;i.原创 2021-02-27 03:53:09 · 370 阅读 · 0 评论 -
网页浏览量统计(队列实现)
这是一个demo,传达的只是思想,实际情况请兄弟们自己研究。@Componentpublic class QueueDemo { private ConcurrentLinkedQueue concurrentLinkedQueue = new ConcurrentLinkedQueue(); public ConcurrentLinkedQueue getConcurrentLinkedQueue() { return concurrentLinkedQue.原创 2020-10-07 18:24:07 · 696 阅读 · 0 评论 -
Synchronized与Lock的区别
一 、原始组成synchronized是关键字属于JVM层面 monitorenter底层通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象,只有在同步快或方法中才能调用 lock是具体类 (import java.util.concurrent.locks.Lock;) 是api层面的锁二、使用方法synchronized不需要用户手动释放锁,当synchronized代码执行完毕后系统会自动让线程释放对锁的占用 ReentrantLock则需要.原创 2020-06-10 20:44:26 · 116 阅读 · 0 评论 -
线程池的作用&自定义线程池MyPool&JUC线程池
阻塞队列 线程池 work 拒绝策略 mainpackage com.qyc.pattern.pool;import java.util.ArrayDeque;import java.util.Deque;import java.util.HashSet;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent....原创 2020-06-06 02:30:06 · 311 阅读 · 0 评论 -
Java并发编程
概念进程程序由指令和数据组成,但指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘,网络等设备。进程就是用来加载指令、管理内存、管理IO的 当一个程序被运行,从磁盘加载这个程序的代码至内存,这就开启了一个进程 进程可以视为程序的一个实例。大部分程序可以同时运行多个实例进程,与有的程序只能启动一个实例进程线程一个进程之内可以分配多个线程 一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给CPU执行区别:Java中..原创 2020-06-03 19:32:01 · 246 阅读 · 1 评论