摘要: 生产者消费者模式 这是一个线程同步问题,生产者和消费者共享同一个资源,并且生产者和消费者之间相互依赖,互为条件. 对于生产者,没有生产产品之前,要通知消费者等待.而生产了产品之后,又需要马上通知消费者消费 对于消费者,在消费之后,要通知生产者已经结束消费,需要生产新的产品以供消费, 在生产者消费者问 阅读全文
posted @ 2025-11-03 15:45 Huaixuxm 阅读(4) 评论(0) 推荐(0)
摘要: 死锁 一个死锁案例 public class DeadLock { public static void main(String[] args) { Makeup t1 = new Makeup("xm", 0); Makeup t2 = new Makeup("xf", 1); t1.start( 阅读全文
posted @ 2025-11-03 14:03 Huaixuxm 阅读(10) 评论(0) 推荐(0)
摘要: 并发:多个线程同时操作同一个对象 线程同步的形成条件:队列+锁 队列 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象.这时候我们就需要线程同步.线程同步其实就是一种等待机制,多个需要同时访问比对象的线程进入这个对象的等待池形成队列,等待前面线程使用完毕,下一个线程再使用。 锁 阅读全文
posted @ 2025-11-03 11:15 Huaixuxm 阅读(5) 评论(0) 推荐(0)
摘要: 线程可以分为用户线程与守护线程,虚拟机必须等待用户线程执行完毕但不用等待守护线程执行完毕 守护线程如:垃圾回收机制, 内存监控等 守护线程顾名思义,用于守护用户线程,下面举例介绍 public class Daemon { public static void main(String[] args) 阅读全文
posted @ 2025-11-02 20:58 Huaixuxm 阅读(17) 评论(0) 推荐(0)
摘要: 线程可以通过设置优先级来控制获得CPU的概率,注意这里只是概率,如果低优先级的线程很早到达,且能被分到CPU那么此时低优先的线程会比高优先级但后到来的线程更早运行 可以通过getPriority 与 setPriority 来获取和设置线程的优先级 /** * The minimum priorit 阅读全文
posted @ 2025-11-02 20:37 Huaixuxm 阅读(5) 评论(0) 推荐(0)
摘要: 线程状态有以下五类 线程方法 setPriority(int newPriority) 设置线程的优先级 static void sleep(long millis) 在指定毫秒数内让当前正在执行的线程休眠 void join() 等待该线程停止 static void yield() 暂定当前正在 阅读全文
posted @ 2025-11-02 20:17 Huaixuxm 阅读(8) 评论(0) 推荐(0)
摘要: 线程的创建 线程的创建有三种方法 继承Thread类,并重写run方法 实现Runable接口,并实现run方法 实现Callabke接口,并实现call方法(此处不介绍) 案例:模拟文件下载 方法一: public class ThreadTest1 extends Thread { privat 阅读全文
posted @ 2025-10-28 16:14 Huaixuxm 阅读(4) 评论(0) 推荐(0)
摘要: 函数式接口 任何只有一个抽象方法的接口都是一个函数式接口 public interface Runable { public abstract void run; } 对于函数式接口,可以使用lambda表达式来构建对象 public class TestLambda { public static 阅读全文
posted @ 2025-10-28 15:21 Huaixuxm 阅读(4) 评论(0) 推荐(0)