KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sourceforge > groboutils > codecoverage > v2 > compiler > testcode > Synchronized3


1 /*
2  * @(#)Synchronized3.java
3  *
4  * Copyright (C) 2003 Matt Albrecht
5  * groboclown@users.sourceforge.net
6  * http://groboutils.sourceforge.net
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining a
9  * copy of this software and associated documentation files (the "Software"),
10  * to deal in the Software without restriction, including without limitation
11  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12  * and/or sell copies of the Software, and to permit persons to whom the
13  * Software is furnished to do so, subject to the following conditions:
14  *
15  * The above copyright notice and this permission notice shall be included in
16  * all copies or substantial portions of the Software.
17  *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24  * DEALINGS IN THE SOFTWARE.
25  */

26
27 package net.sourceforge.groboutils.codecoverage.v2.compiler.testcode;
28
29
30
31 /**
32  * Simple class to be recompiled.
33  *
34  * @author Matt Albrecht <a HREF="mailto:groboclown@users.sourceforge.net">groboclown@users.sourceforge.net</a>
35  * @version $Date: 2003/05/03 02:54:27 $
36  * @since May 2, 2003
37  */

38 public class Synchronized3 implements Runnable JavaDoc
39 {
40     int j = 0;
41     public static void main( String JavaDoc[] args ) throws Exception JavaDoc
42     {
43         Synchronized3 s2 = new Synchronized3();
44         Thread JavaDoc t1 = new Thread JavaDoc( s2 );
45         Thread JavaDoc t2 = new Thread JavaDoc( s2 );
46         t1.start();
47         t2.start();
48         
49         t1.join();
50         t2.join();
51         if (s2.j == 6)
52         {
53             Passed.passed( "Synchronized3" );
54         }
55     }
56     
57     
58     public void run()
59     {
60         for (int i = 0; i < 10; ++i)
61         {
62             synchronized( this )
63             {
64                 if (i == 3)
65                 {
66                     throw new RuntimeException JavaDoc();
67                 }
68                 ++j;
69             }
70             try
71             {
72                 Thread.sleep( 100 );
73             }
74             catch (InterruptedException JavaDoc ie)
75             {
76                 return;
77             }
78         }
79     }
80     
81 }
82
83
Popular Tags