Loading

摘要: 我使用过synchronized和lock,volatile synchronized和volatile的区别? Synchronized 是关键字,用来加锁。 Volatile 只是保持变量的线程可见性。通常适用于一个线程写,多个线程读的场景。 volatile 本质是在告诉jvm当前变量在寄存器 阅读全文
posted @ 2022-03-19 23:29 远乡人 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 线程是什么? 线程被称为轻量级进程,是程序执行的最小单位,它是指在程序执行过程中,能够执行代码的一个执行单位。每个程序程序都至少有一个线程,也即是程序本身。 线程的状态 Java语言定义了5种线程状态,在任意一个时间点,一个线程只能有且只有其中一个状态。这5种状态如下: 新建(New):创建后尚未启 阅读全文
posted @ 2022-03-19 21:10 远乡人 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 串行在时间上不可能发生重叠,前一个任务还没有搞定,下一个任务只能等着,也叫顺序执行。 并行在时间上时重叠的,两个任务在同一时刻互相不干扰的同时执行。 并发允许两个任务彼此干扰。统一时间点,只有一个任务运行,交替执行。 并发的三大特性 原子性 原子性是指在一个操作中cpu不可以在中途暂停然后再调度,即 阅读全文
posted @ 2022-03-19 21:06 远乡人 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1.进程和线程的区别 进程就是一个程序从创建,运行,到消亡的过程 一个进程可以创建多个线程,每个线程都有自己的程序计数器,本地方法栈,虚拟机栈 2.说一下线程的生命周期?线程有哪几种状态? java线程在运行的生命周期中的指定时刻只能处于下面集中不同状态的其中一种状态。 线程有5大状态:创建,就绪, 阅读全文
posted @ 2022-03-19 20:21 远乡人 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 一、前言在了解悲观锁和乐观锁之前,我们先了解一下什么是锁,为什么要用到锁? 技术来源于生活,锁不仅在程序中存在,在现实中我们也随处可见,例如我们上下班打卡的指纹锁,保险柜上的密码锁,以及我们我们登录的用户名和密码也是一种锁,生活中用到锁可以保护我们人身安全(指纹锁)、财产安全(保险柜密码锁)、信息安 阅读全文
posted @ 2022-03-19 16:25 远乡人 阅读(266) 评论(0) 推荐(0) 编辑