; ; Output created by JasminView on Jul 8, 2002 ; mailto:shawn@pobox.com ; Copyright (c) 1997-Present Shawn Silverman ; ; Jasmin can be found at: ; http://www.cat.nyu.edu/meyer/jasmin/ ; ; Classfile version: ; major: 45 ; minor: 3 .source MultiIncM.java .class MultiIncM .super java/lang/Thread .field private c LCounter; .field private r Ljava/util/Random; .field private id I ; >> METHOD 1 << .method (LCounter;I)V .limit stack 3 .limit locals 3 ;---- .line 10 aload_0 invokespecial java/lang/Thread/()V .line 11 aload_0 aload_1 putfield MultiIncM/c LCounter; .line 12 aload_0 iload_2 putfield MultiIncM/id I .line 13 aload_0 new java/util/Random dup invokespecial java/util/Random/()V putfield MultiIncM/r Ljava/util/Random; .line 14 return .end method ; >> METHOD 2 << .method public run()V .limit stack 3 .limit locals 3 ;---- .line 17 iconst_0 istore_1 goto Label6 .line 18 Label1: aload_0 getfield MultiIncM/c LCounter; invokevirtual Counter/inc()V .line 19 getstatic java/lang/System/out Ljava/io/PrintStream; new java/lang/StringBuffer dup invokespecial java/lang/StringBuffer/()V aload_0 getfield MultiIncM/id I invokevirtual java/lang/StringBuffer/append(I)Ljava/lang/StringBuffer; ldc "." invokevirtual java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer; invokevirtual java/lang/StringBuffer/toString()Ljava/lang/String; invokevirtual java/io/PrintStream/print(Ljava/lang/String;)V .line 20 Label2: aload_0 getfield MultiIncM/r Ljava/util/Random; bipush 100 invokevirtual java/util/Random/nextInt(I)I i2l invokestatic java/lang/Thread/sleep(J)V Label3: goto Label5 Label4: astore_2 .line 17 Label5: iinc 1 1 Label6: iload_1 bipush 10 if_icmplt Label1 .line 22 getstatic java/lang/System/out Ljava/io/PrintStream; new java/lang/StringBuffer dup invokespecial java/lang/StringBuffer/()V aload_0 getfield MultiIncM/c LCounter; invokevirtual Counter/val()I invokevirtual java/lang/StringBuffer/append(I)Ljava/lang/StringBuffer; ldc "|" invokevirtual java/lang/StringBuffer/append(Ljava/lang/String;)Ljava/lang/StringBuffer; invokevirtual java/lang/StringBuffer/toString()Ljava/lang/String; invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V .line 23 return ;---- .catch java/lang/Exception from Label2 to Label3 using Label4 .end method ; >> METHOD 3 << .method public static main([Ljava/lang/String;)V .limit stack 4 .limit locals 2 ;---- .line 26 new Counter dup invokespecial Counter/()V astore_1 .line 27 new MultiIncM dup aload_1 iconst_1 invokespecial MultiIncM/(LCounter;I)V invokevirtual java/lang/Thread/start()V .line 28 new MultiIncM dup aload_1 iconst_2 invokespecial MultiIncM/(LCounter;I)V invokevirtual java/lang/Thread/start()V .line 29 new MultiIncM dup aload_1 iconst_3 invokespecial MultiIncM/(LCounter;I)V invokevirtual java/lang/Thread/start()V .line 30 return .end method