摘要: 一、概念 多线程环境下,我们经常需要多个线程的并发和协作。这个时候,就需要了解一个重要的多线程并发协作模型“生产者/消费者模式”。 Ø 什么是生产者? 生产者指的是负责生产数据的模块(这里模块可能是:方法、对象、线程、进程)。 Ø 什么是消费者? 消费者指的是负责处理数据的模块(这里模块可能是:方法 阅读全文
posted @ 2019-04-09 21:37 ID长安忆 阅读(467) 评论(0) 推荐(0)
摘要: 一、概念 “死锁”指的是: 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能进行,而导致两个或者多个线 程都在等待对方释放资源,都停止执行的情形。 因此, 某一个同步块需要同时拥有“两个以上对象的锁”时,就可能会发生“死锁”的问题。 下面案例中,“化妆线程”需要同时拥有“镜子对象”、 阅读全文
posted @ 2019-04-09 20:08 ID长安忆 阅读(232) 评论(0) 推荐(0)
摘要: 一、概念 现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题。 比如:教室里,只有一台电脑,多个人都想使用。 天然的解决办法就是,在电脑旁边,大家排队。前一人使用完后,后一人再使用。 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个对象。 这时候,我们就需要用到“线程同步” 阅读全文
posted @ 2019-04-09 01:17 ID长安忆 阅读(139) 评论(0) 推荐(0)