摘要: 等待唤醒机制概念 等待与唤醒机制:线程之间的通信 重点:有效的利用资源(生产一个包子,吃一个包子,再生产一个包子,在吃一个包子) 通信:对包子的状态进行判断 没有包子-->吃货线程唤醒包子铺线程-->吃货线程等待-->包子铺线程做包子-->做好包子-->修改包子的状态为有 有包子-->包子铺线程唤醒 阅读全文
posted @ 2022-07-09 16:41 monkey大佬 阅读(63) 评论(0) 推荐(0)
摘要: Object类中wait带有参方法和notifyAll方法 进入到TimeWaiting(计时等待)有两种方式 1.使用sleep(long m)方法,在毫秒值结束之后,线程睡醒进入到Runnadle/Blocked状态 2.使用wait(long m)方法,wait方法如果在毫秒值结束之后,还没有 阅读全文
posted @ 2022-07-09 15:34 monkey大佬 阅读(41) 评论(0) 推荐(0)
摘要: 等待唤醒案例分析 分析: 1.有两个人 消费者(顾客) 生产者(老板) 2.顾客要买包子和老板说明买包子的数量和种类 顾客就等着老板做包子(调用wait方法)Waiting状态 无线等待 3.老板开始做包子,做好包子,告诉(调用notify方法)顾客包子做好了可以开吃了 等待唤醒代码实现案例 注意: 阅读全文
posted @ 2022-07-09 14:48 monkey大佬 阅读(58) 评论(0) 推荐(0)
摘要: 解决线程安全问题_Lock锁 Lock实现提供了比使用 synchronized方法和语句可获得的更广泛的锁定操作 Lock接口中的方法: void lock() 获取锁 void unlock() 释放锁 使用步骤: 1.在成员位置创建一个ReentrantLock对象 2.在可能会出现安全问题的 阅读全文
posted @ 2022-07-09 13:42 monkey大佬 阅读(69) 评论(0) 推荐(0)
摘要: 解决线程安全问题_同步方法 同步方法:使用synchronized修饰的方法,就叫做同步方法,保证A线程执行该方法的时候,其他线程只能在方法外等着。 格式: public synchronized void method(){ 可能会产生线程安全问题的代码块 } 解决线程安全问题的第二种方案:使用同 阅读全文
posted @ 2022-07-09 11:30 monkey大佬 阅读(50) 评论(0) 推荐(0)
摘要: 解决线程安全问题_同步代码块 解决线程安全问题的一种方案:使用同步代码块 格式: synckroized(锁对象){ 可能会出现线程安全问题的代码(访问了共享数据的代码) } 注意: 1.通过代码块中的锁对象,可以使用任意的对象 2.但是必须保证多个线程使用的锁对象是同一个 3.锁对象作用: 把同步 阅读全文
posted @ 2022-07-09 10:53 monkey大佬 阅读(47) 评论(0) 推荐(0)
摘要: 线程安全问题的代码实现 public class demg_07 implements Runnable{ //定义一个多线程共享的票源 private int ticket = 100; //设置线程任务:卖票 @Override public void run() { //使用死循环让卖票操作重 阅读全文
posted @ 2022-07-09 10:28 monkey大佬 阅读(32) 评论(0) 推荐(0)
摘要: 匿名内部类方式实现线程的创建 匿名:没有名字 内部类:写在其他类内部的类 匿名内部类作用:简化代码 把子类继承父类,重写父类方法,创建子类对象合一步完成 把实现类实现类接口,重写接口中的方法,创建实现类对象合成一步完成 匿名内部类的最终产物:子类/实现类对象,而这个类没有名字 格式: new 父类/ 阅读全文
posted @ 2022-07-09 10:01 monkey大佬 阅读(93) 评论(0) 推荐(0)
摘要: 创建多线程的第二种方式_实现Runnable接口 java.lang.Runnable: Runnable接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定义一个称为run 的无参数方法。 java.lang.Thread类的构造方法: Thread ( Runnable target)分 阅读全文
posted @ 2022-07-09 09:36 monkey大佬 阅读(38) 评论(0) 推荐(0)
摘要: Thread类的常用方法_设置线程名称的方法 Thread类的常用方法_设置线程名称的方法1.使用Thread中的方法setName(名字)void setName(String name):改变线程名称,是之与参数name相同 public class demg_04 extends Thread 阅读全文
posted @ 2022-07-09 09:16 monkey大佬 阅读(168) 评论(0) 推荐(0)