package single;
import java.util.*;
public class CourierThread extends Thread{
String couriers[]={"顺丰快递","申通快递","圆通快递","韵达快递","天天快递"};
String threadName=null;
public CourierThread(String name) {
// TODO Auto-generated constructor stub
threadName=name;
}
public void run()
{
Person person=Person.getInstance();
Random random =new Random();
for(int i=0;i<5;i++)
{
System.out.println(threadName+":你好,我是【"+couriers[random.nextInt(couriers.length)]+"】有你快递,请尽快来取快递!");
System.out.println("回答"+threadName+":\t"+person.getAnser());
try
{
this.sleep(1000);
}catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
}
package single;
//饿汉单例模式
public class Person {
private static Person person=new Person();
private int num;
private Person()
{
}
public static Person getInstance()
{
return person;
}
public synchronized String getAnser()
{
return "我是XXX,请稍等马上来!这是第"+(++num)+"个快递!";
}
}
package single;
public class Singleton {
public static void main(String[] args) {
// TODO Auto-generated method stub
CourierThread courier1=new CourierThread("线程1");
CourierThread courier2=new CourierThread("线程2");
courier1.start();
courier2.start();
}
}
![]()