![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 76
offerNotFound
梦想很伟大,过好每一天!
展开
-
JUC 系列:AQS -->学习 Doug Lea 大神思想
AQS:全称是AbstractQueuedSynchronizer,一个并发同步管理框架类,是 JUC 的灵魂抽象类。如果要自己去实现一个同步管理框架呢?个人学习寒食君大佬的解析后觉得可以分为三点:通用性,下层实现透明的同步机制,同时给上层提供业务代码编写的功能利用 CAS 操作,原子的修改共享标志位(由这个标志位来判断共享资源是否空闲)等待队列(埋伏笔:情况①:当共享资源被占用时,直接返回结果、情况②:当共享资源被占用时,让后续的线程进入到等待队列中等待)与 AQS 的结构有着异曲同工之妙,原创 2021-09-08 16:30:25 · 382 阅读 · 0 评论 -
Oracle 批量上传或更新操作(速度可观)
Oracle 批量上传或更新操作(这个版本适用于数据量很小的情况下,上万的数据量已经有点慢了)别把 BEGIN 与 END 漏掉了,批量的话得用 <insert id="对应 Mapper 层方法名" parameterType="java.util.List" > BEGIN <foreach collection='list' item='item' separator=';'> MERGE INTO 表名 T USING原创 2021-07-27 18:01:52 · 1250 阅读 · 0 评论 -
多进程与多线程的区别
今天七牛云的面试被问到了没答好,在此记录下加深印象进程与线程的区别先来说下进程与线程间的区别:进程是一个独立功能的程序,而线程是进程中的其中一个功能(比如:你打开了QQ,QQ就是一个进程。然后你在QQ输入文字聊天,这个就是线程)。进程是系统进行资源分配和调度的单位,而线程是 CPU 调度和分派的基本单位。进程的资源是被线程共享的多进程与多线程的区别多进程的数据是分开的,所以多进程共享复杂,同步简单(需要用IPC);而多线程由于是共享一个线程的资源,所以多线程共享简单,同步复杂。多进程占原创 2021-06-16 21:58:54 · 356 阅读 · 0 评论 -
Java 多线程(工具篇)
线程池原理线程池的七大参数详解:int corePoolSize:该线程池中核心线程数最大值。核心线程:线程池中有两类线程,核心线程和非核心线程。核心线程默认情况下会一直存在于线程池中,即使这个核心线程什么都不干(铁饭碗),而非核心线程如果长时间的闲置,就会被销毁(临时工)。int maximumPoolSize:该线程池中线程总数最大值 。该值等于核心线程数量 + 非核心线程数量。long keepAliveTime:非核心线程闲置超时时长。非核心线程如果处于闲置状态超过该值原创 2021-05-23 15:11:40 · 129 阅读 · 0 评论 -
Java 多线程(原理篇)
本文有点长,请慢慢食用…(当然想更清楚还是去看上次推荐的书)Java 内存模型(JMM)JMM的抽象示意图:由图可知:所有的共享变量都存在主内存中。每个线程都保存了一份该线程使用到的共享变量的副本。如果线程A与线程B之间要通信的话,必须经历下面2个步骤:a. 线程A将本地内存A中更新过的共享变量刷新到主内存中去。b. 线程B到主内存中去读取线程A之前已经更新过的共享变量。因为根据JMM的规定,线程对共享变量的所有操作都必须在自己的本地内存中进行,不能直接从主内存中读取。所以,线程.原创 2021-05-22 15:45:48 · 296 阅读 · 1 评论 -
Java 多线程(基础篇)
本文记录于阿里一群大佬们手码的书:《深入浅出Java多线程》线程与进程的区别:进程是一个独立的运行环境,而线程是在进程中执行的一个任务进程单独占有一定的内存地址空间,所以进程间存在内存隔离,数据是分开的,数据共享复杂但是同步简单,各个进程之间互不干扰;而线程共享所属进程占有的内存地址空间和资源,数据共享简单,但是同步复杂。进程单独占有一定的内存地址空间,一个进程出现问题不会影响其他进程,不影响主程序的稳定性,可靠性高;一个线程崩溃可能影响整个程序的稳定性,可靠性较低。进程单独占有一定的内存地.原创 2021-05-19 20:34:20 · 59 阅读 · 0 评论