![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java多线程
文章平均质量分 53
weixin_42613871
菜鸟一只
展开
-
JMM学习笔记
JMMjava内存模型,是一种概念。关于JMM的一些同步约定:线程解锁前,必须把共享内存立刻刷回主存线程加锁前,必须读取内存中最新的值到工作内存中加锁和解锁是同一把锁内存交互的8个操作lock(加锁):作用于主内存的变量,将一个变量标识为线程独占状态unlock(解锁):作用于主内存的变量,将处于锁定状态的变量释放出来read(读取):作用于主内存的变量,将变量的值从主内存传到线程的工作内存中load(载入):作用于工作内存的变量,将read操作读取的值放入工作内存中use(使用原创 2021-07-15 19:14:09 · 76 阅读 · 0 评论 -
ForkJoin
在JDK1.7出现的,大数据量,并行执行任务,可以提高效率。将大任务拆成小任务。特点:工作窃取两个线程,如果A线程还未执行完任务,B线程已经执行完,那么B线程可以帮助执行A线程未执行的任务...原创 2021-07-15 16:43:11 · 44 阅读 · 0 评论 -
线程池学习笔记
线程池的好处降低资源的消耗提高响应的速度方便管理线程复用,可以控制最大并发数,管理线程线程池:三大方法ExecutorsExecutors.newSingleThreadExecutor()Executors.newFixedThreadPool(num)Executors.newCachedThreadPool()import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;原创 2021-07-15 14:06:04 · 45 阅读 · 0 评论 -
阻塞队列BlockingQueue
队列满的时候,入被阻塞队列空的时候,出被阻塞狂神原创 2021-07-14 20:06:03 · 46 阅读 · 0 评论 -
读写锁学习笔记
学习视频:狂神 独占锁(写锁) 共享锁(读锁)public class ReadWriteLockDemo{ public static void main(String[] args){ MyCache2 myCache = new MyCache2(); //写入 for (int i=1;i<=5;i++){ final int temp = i;原创 2021-07-14 19:18:34 · 45 阅读 · 0 评论 -
并发情况下的集合类不安全
List解决:List<string> list = new Vector<>();List<string> list = Collections.synchronizedList(new ArrayList<>());List<string> list = new CopyOnWriteArrayList<>();Vector:底层使用synchronized实现add方法使用synchronized会使运原创 2021-07-14 15:42:23 · 42 阅读 · 0 评论 -
JUC学习笔记
并发和并行并发:多线程操作同一资源CPU一核,模拟出多线程并行:CPU多核,多线程同时执行线程池public static void main(String[] args){ //获取cpu核数 //cpu密集型 IO密集型 System.out.println(Runtime.getRuntime().availableProcessors());}并发编程的本质:充分利用CPU的资源java中 线程状态六个:NEW原创 2021-07-13 18:43:54 · 47 阅读 · 0 评论 -
多线程状态
创建状态就绪状态运行状态阻塞状态死亡状态Thread t = new Thread() -> 创建状态调用start()方法,线程立即进入就绪状态就绪状态->运行状态:调度运行状态->就绪状态:运行状态->阻塞状态:调用sleep,wait或同步锁定线程进入阻塞状态阻塞状态->就绪状态:阻塞事件解除之后重新进入就绪状态,等待cpu调度执行线程中断或者结束,一旦进入死亡状态就不能再次启动...原创 2021-07-12 22:00:30 · 46 阅读 · 0 评论 -
Java多线程
一、程序,进程,线程 在操作系统中运行的程序就是进程,一个进程可以有多个线程。程序指令和数据的有序集合,本身无运行含义,是一个静态的概念。进程(Process)程序的一次执行过程,是一个动态的概念,是系统资源分配的单位。线程(Thread)一个进程中包含多个线程,至少有一个线程。线程数CPU调度和执行的单位。main函数是主线程真正的多线程是要有多个cpu,即多核如果是模拟出来的多线程,cpu只能在同一时间处理一件事情,快速切换造成同时执行的错觉二、线程的创建Thread原创 2021-07-12 17:41:11 · 36 阅读 · 0 评论