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!!!");
}
}