线程通信

尽量做到低耦合高内聚。 灵活性更大, 高耦合就会造成如果有需求的修改将难以修改的尴尬局面。
关于消费者生产者的典型例题、 初步模型如下:




四部分组成。 为了解决资源共享问题。 用了构造方法。确保使用的是同一块资源。 如果使用new ShareResource();则需要生产者和消费者分别取new两块资源。而不是一块资源,没有达到资源共享的目的。
初步阶段,测试的结果是输出全部为凤姐-女的性别紊乱问题。
如果在共享资源的push和popup中间加入Thread.sleep()。则性别紊乱的结果会更加的明显。
解决方法:
性别紊乱的问题解决方法就是用同步。synchronize

等待和唤醒:


 

Lock机制中如何唤醒和等待:

死锁:

 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号