package exam;
public class exam01 {
public static void main ( String[ ] args) {
Myclass mm = new Myclass ( ) ;
MyThread a = new MyThread ( mm) ;
MyThread b = new MyThread ( mm) ;
a. setName ( "a" ) ;
b. setName ( "b" ) ;
a. start ( ) ;
b. start ( ) ;
}
}
class MyThread extends Thread {
Myclass myclass;
public MyThread ( Myclass myclass) {
this . myclass = myclass;
}
public MyThread ( ) {
}
@Override
public void run ( ) {
if ( Thread. currentThread ( ) . getName ( ) . equals ( "a" ) ) {
myclass. doSome ( ) ;
}
else if ( Thread. currentThread ( ) . getName ( ) . equals ( "b" ) ) {
myclass. doOther ( ) ;
}
}
}
class Myclass {
public synchronized void doSome ( ) {
System. out. println ( "doSome()begin" ) ;
try {
Thread. sleep ( 5000 ) ;
} catch ( InterruptedException e) {
e. printStackTrace ( ) ;
}
System. out. println ( "doSome()over!!!" ) ;
}
public void doOther ( ) {
System. out. println ( "doOther()begin" ) ;
System. out. println ( "doOther()over!!!" ) ;
}
}
package exam02;
public class exam01 {
public static void main ( String[ ] args) {
Myclass mm = new Myclass ( ) ;
MyThread a = new MyThread ( mm) ;
MyThread b = new MyThread ( mm) ;
a. setName ( "a" ) ;
b. setName ( "b" ) ;
a. start ( ) ;
b. start ( ) ;
}
}
class MyThread extends Thread {
Myclass myclass;
public MyThread ( Myclass myclass) {
this . myclass = myclass;
}
public MyThread ( ) {
}
@Override
public void run ( ) {
if ( Thread. currentThread ( ) . getName ( ) . equals ( "a" ) ) {
myclass. doSome ( ) ;
}
else if ( Thread. currentThread ( ) . getName ( ) . equals ( "b" ) ) {
myclass. doOther ( ) ;
}
}
}
class Myclass {
public synchronized void doSome ( ) {
System. out. println ( "doSome()begin" ) ;
try {
Thread. sleep ( 5000 ) ;
} catch ( InterruptedException e) {
e. printStackTrace ( ) ;
}
System. out. println ( "doSome()over!!!" ) ;
}
public synchronized void doOther ( ) {
System. out. println ( "doOther()begin" ) ;
System. out. println ( "doOther()over!!!" ) ;
}
}
package exam03;
public class exam01 {
public static void main ( String[ ] args) {
Myclass mm = new Myclass ( ) ;
Myclass mm02 = new Myclass ( ) ;
MyThread a = new MyThread ( mm) ;
MyThread b = new MyThread ( mm02) ;
a. setName ( "a" ) ;
b. setName ( "b" ) ;
a. start ( ) ;
b. start ( ) ;
}
}
class MyThread extends Thread {
Myclass myclass;
public MyThread ( Myclass myclass) {
this . myclass = myclass;
}
public MyThread ( ) {
}
@Override
public void run ( ) {
if ( Thread. currentThread ( ) . getName ( ) . equals ( "a" ) ) {
myclass. doSome ( ) ;
}
else if ( Thread. currentThread ( ) . getName ( ) . equals ( "b" ) ) {
myclass. doOther ( ) ;
}
}
}
class Myclass {
public synchronized void doSome ( ) {
System. out. println ( "doSome()begin" ) ;
try {
Thread. sleep ( 5000 ) ;
} catch ( InterruptedException e) {
e. printStackTrace ( ) ;
}
System. out. println ( "doSome()over!!!" ) ;
}
public synchronized void doOther ( ) {
System. out. println ( "doOther()begin" ) ;
System. out. println ( "doOther()over!!!" ) ;
}
}
package exam04;
public class exam01 {
public static void main ( String[ ] args) {
Myclass mm = new Myclass ( ) ;
Myclass mm02 = new Myclass ( ) ;
MyThread a = new MyThread ( mm) ;
MyThread b = new MyThread ( mm) ;
a. setName ( "a" ) ;
b. setName ( "b" ) ;
a. start ( ) ;
b. start ( ) ;
}
}
class MyThread extends Thread {
Myclass myclass;
public MyThread ( Myclass myclass) {
this . myclass = myclass;
}
public MyThread ( ) {
}
@Override
public void run ( ) {
if ( Thread. currentThread ( ) . getName ( ) . equals ( "a" ) ) {
myclass. doSome ( ) ;
}
else if ( Thread. currentThread ( ) . getName ( ) . equals ( "b" ) ) {
myclass. doOther ( ) ;
}
}
}
class Myclass {
public synchronized static void doSome ( ) {
System. out. println ( "doSome()begin" ) ;
try {
Thread. sleep ( 5000 ) ;
} catch ( InterruptedException e) {
e. printStackTrace ( ) ;
}
System. out. println ( "doSome()over!!!" ) ;
}
public synchronized void doOther ( ) {
System. out. println ( "doOther()begin" ) ;
System. out. println ( "doOther()over!!!" ) ;
}
}