上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 35 下一页
摘要: 线程池 使用线程池的优势: 提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程池中线程,不需要每次都创建) 便于线程管理 ​ corePoolSize: 核心池的大小 ​ maximumPoolSize: 最大线程数 ​ keepAliveTime: 线程没有任务时最多保持多长时间后 阅读全文
posted @ 2021-11-15 20:42 Oh,mydream! 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 信号灯法实现多线程通信 多线程接近尾声了,学习是一方面,练习也很重要 例子: 演员表演节目 观众观看 package com.example.multi_thread; import lombok.SneakyThrows; // 信号灯法实现肯德基购餐 public class TestPC2 { 阅读全文
posted @ 2021-11-15 17:40 Oh,mydream! 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 管程法实现线程通信 例子: 生产者只负责生产鸡 消费者只负责消费鸡 缓冲区负责存放鸡,有存入方法,缓冲区满了等待消费者消费,没有满生产者生产,通知消费者消费 缓冲区有弹出方法,缓冲区为空等待生产者生产,不为空通知生产者生产 代码 package com.example.multi_thread; i 阅读全文
posted @ 2021-11-15 15:52 Oh,mydream! 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 死锁 产生死锁的四个必要条件 互斥条件:一个资源每次只能被一个进程使用 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放 不剥夺条件:进程已获得的资源在未使用完之前,不能强行剥夺 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系 死锁示例 package com.exa 阅读全文
posted @ 2021-11-13 17:36 Oh,mydream! 阅读(22) 评论(0) 推荐(0) 编辑
摘要: CopyOnWriteArrayList JUC 并发领域的概念 JUC:java.util.concurrent package com.example.multi_thread; import java.util.concurrent.CopyOnWriteArrayList; public c 阅读全文
posted @ 2021-11-13 11:49 Oh,mydream! 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 同步方法及同步块 如果我们意识不到思维方式中的弱点,我们永远无法突破当前困境 上篇博客三大线程不安全例子中给出了不安全的示例,那如何才是安全的呢? 同步方法 synchronized关键字,同步,可以放在方法前 public synchronized void method(int args){} 阅读全文
posted @ 2021-11-13 11:37 Oh,mydream! 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 线程同步--三大线程不安全例子 概念 线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作,其他线程才能对该地址进行操作,而其他线程又处于等待状态 锁机制 由于同一进程的多个线程共享同一块存储空间,在带来方便的同时,也带来了冲突问题,为了保证数据在方 阅读全文
posted @ 2021-11-12 20:48 Oh,mydream! 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 守护线程 守护线程的例子搞的我很伤感,终有离世的一天,愿我们每天都能开心度过。 线程分为用户线程(main线程)和守护线程(gc 垃圾回收线程) 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 守护线程例子:后台记录操作日志、监控内存、垃圾回收等等 例子: package com.e 阅读全文
posted @ 2021-11-12 16:24 Oh,mydream! 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 线程优先级 弱肉强食在什么时代都适用,不要当绵羊,要当老虎 java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行 线程的优先级用数字来表示 ​ Thread.MIN_PRIORITY=1; ​ Thread.MAX_PRIORITY=10 阅读全文
posted @ 2021-11-12 11:47 Oh,mydream! 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 观测线程状态 线程状态 Thread.State NEW 尚未启动的线程处于此状态 RUNNABLE 在java虚拟机中执行的的线程处于此状态 BLOCKED 被阻塞等待监视器锁定的线程处于此状态 WAITING 正在等待另一个线程执行特定动作的线程处于此状态 TIMED_WAITING 正在等待另 阅读全文
posted @ 2021-11-12 09:02 Oh,mydream! 阅读(19) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 35 下一页