首页 > 其他 > 详细

代码同步优化

时间:2016-11-29 06:08:24      阅读:136      评论:0      收藏:0      [点我收藏+]
 1 class Res
 2 {
 3     private String name;
 4     private String gender;
 5     private boolean flag;
 6   
 7     //根据面向对象的原则,把和属性相关的功能写在类中。
 8     //存入数据
 9     public synchronized void set(String name,String gender)
10     {
11         if(flag)
12         {
13             try{wait();}catch(InterruptedException e){e.printStackTrace();}
14         }
15         this.name = name;
16         this.gender = gender;
17         flag = true;
18         notify();
19     }
20 
21     //输出数据
22     public synchronized void out()
23     {
24         if(!flag)
25         {
26             try{wait();}catch(InterruptedException e){e.printStackTrace();}
27         }
28         System.out.println(name + "....." + gender);
29         flag = false;
30         notify();
31     }
32 }
33 
34 //输入任务
35 class Input implements Runnable
36 {
37     private Res res;
38     public Input(Res res)
39     {
40         this.res = res;
41     }
42     public void run()
43     {   
44         int i = 1;
45         while(true)
46         {
47             if(i==1)
48                 res.set("猪小明","男");
49             else
50                 res.set("腿腿","女");
51             i = (++i)%2;
52         }
53     }
54 }
55 
56 //输出任务
57 class Output implements Runnable
58 {
59     private Res res;
60     public Output(Res res)
61     {
62         this.res = res;
63     }
64     public void run()
65     {
66         while(true)
67         {
68             res.out();
69         }    
70     }
71 }
72 
73 class Demo
74 {
75     public static void main(String[] args)
76     {
77         Res res = new Res();
78         Input input = new Input(res);
79         Output output = new Output(res);
80 
81         new Thread(input).start();
82         new Thread(output).start();
83 
84     }
85 }
86     

 

代码同步优化

原文:http://www.cnblogs.com/tzc1024/p/6111769.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!