上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 44 下一页
摘要: 等待唤醒案例分析 分析: 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)
摘要: 多线程原理_多线程内存图解 Thread类的常用方法_获取线程名称的方法 获取线程名称: 1.使用Thread类中的方法getName() String getName() 返回该线程的名称, public class demg_03 extends Thread{//继承线程 @Override 阅读全文
posted @ 2022-07-08 22:10 monkey大佬 阅读(38) 评论(0) 推荐(0)
摘要: 创建多线程程序的第一种方式_创建Thread的子类 Java使用java.lang.Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流即一段顺序执行的代码。Java使用线程执行体来代表这段程序流。 创建多线程程序的第一 阅读全文
posted @ 2022-07-08 21:06 monkey大佬 阅读(50) 评论(0) 推荐(0)
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 44 下一页