--- /dev/null
+public class InlineSynchronized3 extends Thread{
+
+ private InlineSynchronized3 m_o;
+ String m_name;
+ public InlineSynchronized3(String name, InlineSynchronized3 o) {
+ super(name);
+ m_o=o;
+ m_name=name;
+ }
+
+ public void run() {
+ while (true) {
+ testit(m_o);
+ System.out.println("("+m_name+")");
+ try {
+ sleep(2000);
+ } catch (Exception e) {}
+ }
+ }
+ public static void testit(InlineSynchronized3 o) {
+ synchronized(o) {
+ System.out.println("Within protected section, about to throw an exception");
+ }
+ }
+ public static void main(String args[]) {
+ InlineSynchronized3 o=new InlineSynchronized3("dummy",null);
+ InlineSynchronized3 o1=new InlineSynchronized3("1",o);
+ InlineSynchronized3 o2=new InlineSynchronized3("2",o);
+ InlineSynchronized3 o3=new InlineSynchronized3("3",o);
+ o1.start();
+ o2.start();
+ o3.start();
+ }
+}