;
; Output created by JasminView on Jun 25, 2000
; 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 MThread.java

.class  MThread
.super  java/lang/Thread

.field private w LWaiting;
.field private id I

; >> METHOD 1 <<
.method <init>(I)V
    .limit stack 3
    .limit locals 2
;----
.line 7
    aload_0
    invokespecial java/lang/Thread/<init>()V ; スレッドの生成など面倒は全てここに集約!
.line 8
    aload_0
    new Waiting
    dup
    invokespecial Waiting/<init>()V
    putfield MThread/w LWaiting;
.line 9
    aload_0
    iload_1
    putfield MThread/id I
.line 6
    return
.end method

; >> METHOD 2 <<
.method public run()V
    .limit stack 4
    .limit locals 2
;----
.line 13
    iconst_0
    istore_1
    goto Label2
.line 14
Label1:
    aload_0
    getfield MThread/w LWaiting;
    aload_0
    invokevirtual Waiting/wait(Ljava/lang/Thread;)V
.line 15
    getstatic java/lang/System/out Ljava/io/PrintStream;
    new java/lang/StringBuffer
    dup
    aload_0
    getfield MThread/id I
    invokestatic java/lang/String/valueOf(I)Ljava/lang/String;
    invokespecial java/lang/StringBuffer/<init>(Ljava/lang/String;)V
    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 13
    iinc 1 1
Label2:
    iload_1
    bipush 10
    if_icmplt Label1
.line 17
    aload_0
    invokevirtual MThread/dummy()V
.line 12
    return
.end method

; >> METHOD 3 <<
.method dummy()V
    .limit stack 0
    .limit locals 1
;----
.line 20
    return
.end method

; >> METHOD 4 <<
.method public static main([Ljava/lang/String;)V
    .limit stack 3
    .limit locals 2
;----
.line 24
    new MThread
    dup
    iconst_0
    invokespecial MThread/<init>(I)V
    astore_1
    aload_1
    invokevirtual java/lang/Thread/start()V
.line 25
    new MThread
    dup
    iconst_1
    invokespecial MThread/<init>(I)V
    astore_1
    aload_1
    invokevirtual java/lang/Thread/start()V
.line 26
    new MThread
    dup
    iconst_2
    invokespecial MThread/<init>(I)V
    astore_1
    aload_1
    invokevirtual java/lang/Thread/start()V
.line 22
    return
.end method

$Id: jas.html,v 1.1 2000-06-25 17:28:22+09 kaiya Exp kaiya $