Package COM. jue. test; public class maintest {/*** @ Param ARGs */public static void main (string [] ARGs) {// todo auto-generated method stub new mythread1 (). start (); New mythread2 (). start ();} static class mythread1 extends thread {@ override public void run () {for (INT I = 0; I <10; I ++) {system. out. println ("mythread1-> Run I =" + I); if (I = 4) {system. out. println ("*********** mythread1 ****** ** Suspend ***** "); // It may cause deadlocks. May cause deadlocks. suspend ();} Try {thread. sleep (10);} catch (exception e) {}} system. out. println ("mythread1 -------------- end") ;}} static class mythread2 extends thread {@ override public void run () {for (INT I = 0; I <10; I ++) {system. out. println ("mythread2-> Run I =" + I); try {thread. sleep (10);} catch (exception e) {}} system. out. println ("mythread2 ---------------- end ");}}}
Result:
Mythread1-> Run I = 0
Mythread2-> Run I = 0
Mythread1-> Run I = 1
Mythread2-> Run I = 1
Mythread1-> Run I = 2
Mythread2-> Run I = 2
Mythread1-> Run I = 3
Mythread2-> Run I = 3
Mythread1-> Run I = 4
* ********* Mythread1 ********* suspend *****
Mythread2-> Run I = 4
Mythread2-> Run I = 5
Mythread2-> Run I = 6
Mythread2-> Run I = 7
Mythread2-> Run I = 8
Mythread2-> Run I = 9
Mythread2 ---------------- end