线程池
文章平均质量分 61
一写代码就开心
一起学编程呀,头秃的那种。
学完之后,找一份java,python开发的工作不成问题
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程笔记(十)集合 的线程安全
目录1 ArrayList()集合(有线程安全问题)2 如何解决以上的线程安全的问题2.1 使用Vector集合(没有线程安全问题)2.2 使用集合工具类2.3 CopyOnWriteArrayList (可以看到底层的集合是没有加锁的) 1 ArrayList()集合(有线程安全问题) 他是线程不安全的,我们创建这个对象,调用他的add方法往里面加东西,我们看源码,可以看到这个add方法是没有加锁的,所以在多线程往这个集合里面加数据的时候,会出现并发修改异常 就是我们一边线程往list里面加东西,一边取东原创 2022-05-24 18:39:31 · 400 阅读 · 0 评论 -
多线程笔记(九)线程之间的通信
目录1 虚假唤醒2 synchronized之间的通信3 lock之间的通信4 线程之间的定制化通信4.1 需求4.2 代码实现 1 虚假唤醒 我们多个线程之间通信,有wait() notify(),notifyall()方法,但是wait()方法是在哪里睡,之后被唤醒的时候就在哪里醒来,所以我们的wait()方法是不能在if里面,使用while,当唤醒的时候,会重新判断条件,if是不会判断的; 2 synchronized之间的通信 wait(),notifyAll(),notify() //第一步 创原创 2022-05-24 18:10:56 · 243 阅读 · 0 评论 -
多线程笔记(八)什么是死锁,Lock 锁,synchronize 和 lock区别
目录死锁Lock 锁多个线程操作同一个资源(线程不安全)代码使用 Lock 锁synchronize 和 lock区别 死锁 通俗理解 现在有两个东西,一个是汽车,一个是火车,小明已经拿上汽车了,但是他想要火车, 小红已经有火车了,但是他想要汽车,等在等对方放手之后,就可以拿到自己想要的, 但是谁也不想要第一个放开,所以都在等对方放开,就出现了僵持的情况 Lock 锁 Lock 就是一个接口 多个线程操作同一个资源(线程不安全)代码 买票的例子 public class shiLock {原创 2021-08-22 21:01:38 · 577 阅读 · 0 评论 -
多线程笔记(七)JUC 这个包下有很多的类,其中CopyOnWriteArrayList是一个安全的集合类
这里写目录标题背景代码实现 背景 ArrayList 这个集合本来就是线程不安全的,当我们多线程跑数据,往ArrayList里面添加数据的时候,前面的数据有可能被覆盖,为了解决这个问题,我们使用 synchronized关键字。现在我们还可以在不使用关键字的情况下往集合里面添加数据,并且数据是安全的,我们就可以使用CopyOnWriteArrayList这个数组 JDK1.5引入的J.U.C包中,又实现了一个线程安全版的ArrayList——CopyOnWriteArrayList。 代码实现 public原创 2021-08-22 20:27:38 · 377 阅读 · 0 评论 -
多线程笔记(六)synchronized 方法 和 synchronized 块
目录synchronized 方法synchronized 块 synchronized 方法 这个就是一个关键字,在我们的方法上加这个关键字,那么这个方法就被同步了 这个是锁的 这个方法的类 本身 synchronized 块 这个同步监视器 的值就是对哪个对象进行增删改查 那么这个参数就是哪个值 这个就是需要锁 变化的量,这个变化的量 就是需要增删改查的对象 ...原创 2021-08-22 20:17:39 · 389 阅读 · 0 评论 -
多线程笔记(五)线程的同步,线程不安全
目录背景线程同步队列 和 锁线程同步形成的条件synchronized 的问题线程不安全ArrayList 线程不安全的代码实现总结 背景 多个线程操作同一个对象,比如买票,这个就是不安全的 线程同步 就是多个线程进行排队 多线程操作同一个对象的时候,就是并发 队列 和 锁 上厕所需要排队,在厕所里面的人需要锁住厕所,不让其他排队的人进来 线程同步形成的条件 队列 + 锁 synchronized 的问题 线程不安全 我们之前写的代码,买票的时候,会出现有人买了负数的票,这个是不正常的,是线程原创 2021-08-21 17:00:26 · 394 阅读 · 0 评论 -
多线程笔记(四)线程的状态,线程的停止,线程的休眠,线程礼让,join,线程优先级,守护线程
目录线程线程方法线程的停止(建议)线程的休眠线程礼让join线程的优先级守护线程 线程 线程方法 线程的停止(建议) 线程的休眠 线程礼让 A和B 两个线程,当CPU执行B的时候,B进行礼让,那么就离开cpu,这个时候B就变为就绪状态,CPU就重新 在A线程和B线程之间进行选择,有可能还是让B线程执行,这个时候就没有礼让成功。 join 相当于插队 线程的优先级 利用代码设置线程的优先级 和 获取线程的优先级 public class Priority { public s原创 2021-08-21 16:28:35 · 338 阅读 · 0 评论 -
多线程笔记(三)Lamda表达式,如何推导出这个表达式的书写方法
目录为什么要使用这个表达式什么叫做函数式接口推到出lamda表达式最开始写代码静态内部类局部的内部类匿名内部类lambda将参数类型简化掉将括号也去掉将花括号去掉 为什么要使用这个表达式 总之就是为了简化我们的代码 什么叫做函数式接口 定义 记住:必须是一个接口里面只有一个抽象方法 推到出lamda表达式 必须是函数式接口 才可以使用这个表达式 最开始写代码 之前我们写代码,是先写一个接口,写一个类实现这个接口,重写里面的方法。 在主函数里面创建这个类的对象,执行里面的方法 public class原创 2021-08-21 15:08:15 · 387 阅读 · 0 评论 -
多线程笔记(二)线程的3种创建方式,利用线程抢票的逻辑与代码
目录创建线程继承Thread 类实现Runnable 接口利用线程抢票思路代码实现callable接口 创建线程 继承Thread 类 class PrimeThread extends Thread { @Override public void run() { for(int i = 0; i<20;i++){ System.out.println("我是多线程"+i); } } public st原创 2021-08-21 14:02:49 · 462 阅读 · 0 评论 -
多线程笔记(一)程序,进程,线程分别如何理解
目录什么叫做多任务什么叫做多线程普通方法和多线程的执行过程的图解程序,进程,线程总结 什么叫做多任务 一个人可以在吃饭的同时,玩手机,这个就是在同一时间做不同的事情,这个就是多任务 什么叫做多线程 可以理解为多个路,如果现在有10辆车,要从A点到B点,如果只有一条路,那么10辆车是需要排队的,但是如果现在有10条路,那么同一时间,10辆车就同时到达了,不需要排队,这个就是多线程。 多个路同时执行 普通方法和多线程的执行过程的图解 程序,进程,线程 我们代码写的系统就是程序,程序是死的 让我们的程序跑起来,原创 2021-08-21 12:46:00 · 347 阅读 · 0 评论
分享