Java线程
Java-X
相信自己
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java多线程_线程池
线程池背景 经常创建和销毁,使用量特别大的资源。比如并非情况下的线程,对性能影响很大,所以提前创建好多个线程,放入线程池中,使用时直接获取,使用完后放回池中,可以避免频繁创建销毁,实现重复利用,类似共享充电宝。 线程池的好处 提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程池中线程,不需要每次都创建) 便于线程管理 corePoolSize:核心池的大小 maxmumPollSize:最大线程数 keepAliveTime:线程没有任务时最多保存多次时间后会终止等。 使用线程池 JDK原创 2021-06-29 21:54:32 · 177 阅读 · 0 评论 -
Java多线程_并发协助模型(管制法,信号灯法)
管制法 生产者:负责生产数据的模型(可能是方法,对象,线程,进程) 消费者: 负责处理数据的模块(可能是方法,对象,线程,进程) 缓存区: 消费者不能直接使用生产者的数据 ,他们之间有个“缓冲区” 总结:生产者将生产好的数据放入到缓冲区,消费者从缓冲区拿数据 代码例子: //测试: 生产者消费者模型 --> 利用缓冲区解读:管制发 //生产者,消费者,产品,缓冲区 public class TestPC { public static void main(String[] args) {原创 2021-06-28 22:46:43 · 170 阅读 · 0 评论 -
Java多线程_Lock锁
Lock锁 JDK5.0版本开始,就提供更加强大的线程同步机制,通过显式定义同步锁对象来实现同步,同步锁使用Lock对象来充当 Lock接口控制多个线程对共享资源镜像访问的工具,锁提供了对共享资源的独占访问共享资源之前应先获得Lock对象 ReentrantLock类实现了Lock,它拥有与synchromized相同并性和内存语义,在实现线程安全的控制找那个,比较常用的是ReentrantLock,可以显式加锁,释放锁 经典用例1:没有加锁的情况,数字出现了相同的值。 public class TestL原创 2021-06-28 22:00:32 · 215 阅读 · 0 评论 -
Java线程安全_死锁产生,以及解决
什么是死锁 多个线程各种占有一些共享资源,并且互相等待其他线程占有资源才能运行,而导致两个或者多个线程都在等待对方是否资源,都停止执行的情况,某个同步块同时拥有“2个以上对象锁”的时候,就可能发生“死锁”的现象。 //死锁:多个对象互相拥有对方需要的资源,然后形成僵持 public class DeadLock { public static void main(String[] args) { DriveCar driveCar = new DriveCar(0,"职业老司机"原创 2021-06-28 00:28:20 · 238 阅读 · 0 评论 -
Java线程安全解决方案_synchronized代码块
线程不安全的问题 在不做线程安全的情况下,多个线程访问一个资源会出现线程不安全的情况,容易出现不同的线程访问不同一个资源的情况。比如下列简单2个demo运行的效果,运行就会发现,会出现重复或者本身就已经按照逻辑已经不符合条件的,会出现不应该出现的结果。 //两个去银行,线程不安全的情况下 public class UnsafeBank { public static void main(String[] args) { //账号 Account account =原创 2021-06-27 23:31:52 · 224 阅读 · 0 评论 -
Java线程了解
Java线程状态的疑惑 首先,了解Java线程状态的时候,查了一下相关的文章,有的说是5个,有的是说6个,但是无论说是几个状态,大体的流程都是类似的。带着这个疑惑,对线程进行进一步的了解。 查看源码 我首先打开了Thread类,然后发现这个类里面有个State的枚举,首先从字面意思就很清楚知道,这个几个状态应该就清楚是线程的状态了,分别是6个。具体代码如下: /** *线程状态。线程可以处于以下状态之一: *NEW *尚未启动的线程处于此状态 *RUNNABLE *在Java虚拟机中执原创 2021-06-26 23:14:36 · 150 阅读 · 0 评论 -
Java线程的三种实现方式
Java线程的创建方式 1.Thread类 首先,我们了解这个类的时候可以查看一下这类的源码,我们进入源码的时候就会看到,其实这个类是实现的了Runable接口的。 2. Runable接口 3. Callable接口原创 2021-06-14 22:04:47 · 1315 阅读 · 1 评论
分享