上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: 管程法 //测试:生产者消费者模型——>利用缓冲区解决:管程法 //生产者,消费者,产品,缓冲区 public class TestPC { public static void main(String[] args) { SynContainer container = new SynContai 阅读全文
posted @ 2020-07-16 19:42 小卢传 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 线程协作/线程通信问题-分析及解决方式 生产者消费者模式(问题) 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费。 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止。 如果仓库中放有 阅读全文
posted @ 2020-07-16 17:20 小卢传 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Lock锁和与synchronized对比 从JDK5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问, 阅读全文
posted @ 2020-07-16 16:50 小卢传 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形,某一个同步块同时拥有"两个以上的锁"时,就可能会发生"死锁"的问题。 产生死锁的四个必要条件: 互斥条件:一个资源每次只能被一个进程使用。 请求与保持条件:一个进 阅读全文
posted @ 2020-07-16 16:28 小卢传 阅读(169) 评论(0) 推荐(0) 编辑
摘要: CopyOnWriteArrayList import java.util.concurrent.CopyOnWriteArrayList; //测试JUC安全类型的集合 public class TestJUC { public static void main(String[] args) { 阅读全文
posted @ 2020-07-16 12:08 小卢传 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 线程同步方法及同步块 同步方法 由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,它包括两种用法: synchronized方法和synchronized块. 同步方法:public synchroniz 阅读全文
posted @ 2020-07-16 11:59 小卢传 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 线程同步机制(重点) 多个线程操作同一个资源 并发 并发:同一个对象被多个线程同时操作 线程同步 现实生活中,我们会遇到"同一个资源,多个人都想使用"的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决办法就是,排队,一个个来。 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个 阅读全文
posted @ 2020-07-16 10:50 小卢传 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 线程三大不安全案例 买票 //不安全的买票 //线程不安全,有负数 public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket station = new BuyTicket(); new Thr 阅读全文
posted @ 2020-07-16 10:48 小卢传 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 守护(daemon)线程 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 如,后台记录操作日志,监控内存,垃圾回收等待.. //测试守护线程 //上帝守护你 public class TestDaemon { public static void main 阅读全文
posted @ 2020-07-16 01:26 小卢传 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 线程优先级 Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。 线程的优先级用数字表示,范围从1~10. Thread.MIN_PRIORITY = 1; Thread.MAX_PRIORITY = 10; Thread.NORM_P 阅读全文
posted @ 2020-07-16 01:15 小卢传 阅读(104) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页