摘要:
线程池的概念和原理 >线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无序 反复创建线程而消耗过多资源. 线程池 : 容器-->集合(ArrayList, HashSet, LinkedList<Thread>, HashMap) 当程序第一次启动的时候 阅读全文
摘要:
等待唤醒机制需求分析 分析: 需要哪些类 资源类: 包子类 设置包子的属性(皮,馅,包子的状态:有true ,没有false) 生产者(包子铺)类:是一个线程类,可以继承Thread 设置线程任务(run):生产包子 对包子的状态进行判断 true: 有包子,包子铺调用wait方法进入等待状态 fa 阅读全文
摘要:
线程间通信 概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同. 比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作, 一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。 为什么要处理线程间通信: 多个线程并发执行时,在 阅读全文
摘要:
等待唤醒案例代码实现 等待唤醒案例: 线程之间的通信 创建一个顾客线程(消费者):告知老板要的东西的种类和数量,调用wait方法,放弃cpu的执行,进入到WAITING状态(无限等待) 创建一个老板线程(生产者):花了5秒做东西,做好之后,调用notify方法,唤醒顾客吃东西 注意: 顾客和老板线程 阅读全文
摘要:
线程状态概述 线程状态 导致状态发生条件 NEW 至今尚未启动的线程处于这种状态 RUNNABLE 正在Java虚拟机中执行的线程处于这种状态 BLOCKED 受阻塞并等待某个监视器锁的线程处于这种状态 WAITING 无限期地等待另一个线程来执行某一特定操作的线程处于这种状态 TIMED_WAIT 阅读全文
摘要:
静态同步方法 静态同步方法: 锁对象是谁? 不能是this, this是创建对象之后产生的,静态方法优先于对象 静态方法的锁对象是本类的class属性-->class文件对象(反射) 解决线程安全问题_Lock锁 线程安全问题的第三种方案: 使用Lock锁 java.util.concurrent. 阅读全文