摘要: 线程协作 生产者--消费者模式-->管程法 生产者、负责生产数据的模块 消费者、负责处理数据的模块 缓冲区、生产者将生产好的数据放入缓冲区,消费者从缓冲区拿出处理 package com.Thread.lesson04; /** * 生产者消费者模型-->利用缓冲区解决:管程法 */ public 阅读全文
posted @ 2022-05-03 11:39 长空扯淡 阅读(28) 评论(0) 推荐(0)
摘要: 死锁 产生死锁的四个必要条件: 互斥条件:一个资源每次只能被一个进程使用 请求与保持条件:一个进程因请求支援而保持阻塞时,对以获得的资源保持不放 不剥夺条件:进程已获得的资源,在进程完成前,不能强行剥夺 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系 Lock锁 package com 阅读全文
posted @ 2022-05-03 11:31 长空扯淡 阅读(30) 评论(0) 推荐(0)
摘要: 同步方法 synchronized关键字,包括两种用法:synchronized方法和synchronized块 同步方法 public synchronized void method(int args){} 银行取钱案例 卡里有100元,我取50元,别人取100元,可以取成功,卡里余额显示-50 阅读全文
posted @ 2022-05-03 11:26 长空扯淡 阅读(39) 评论(0) 推荐(0)
摘要: 方法 说明 setPriority(int newPriority) 更改线程的优先级 static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程体休眠 void join() 等待该线程终止 static void yield() 暂停当前正在执行的线程,并 阅读全文
posted @ 2022-05-03 10:51 长空扯淡 阅读(30) 评论(0) 推荐(0)
摘要: 用结婚案例来说明静态代理模式 package com.Thread.lesson01; /** * 静态代理模式 * 真实对象和代理对象都要实现同一个接口 * 代理对象要代理真实角色 * @author 长空扯淡 */ public class StaticProxy { public static 阅读全文
posted @ 2022-05-03 10:25 长空扯淡 阅读(28) 评论(0) 推荐(0)
摘要: 使用多线程模拟龟兔赛跑 package com.Thread.lesson01; /** * 模拟龟兔赛跑 */ public class Race implements Runnable{ private static String winner; @Override public void ru 阅读全文
posted @ 2022-05-03 10:20 长空扯淡 阅读(37) 评论(0) 推荐(0)
摘要: 先来了解以下线程的一些基本概念: 1.线程是独立的执行路径。 2.在程序运行时,即使没有自己创建的线程,后台也会有多个线程,如主线程,gc线程等。 3.main()称之为主线程,位系统的入口。 4.在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,但线程的先后执行顺序时不能人为干预的,调 阅读全文
posted @ 2022-05-03 10:12 长空扯淡 阅读(37) 评论(0) 推荐(0)