//单例模式类GlobalNum.java
public static GlobalNum{
private static GlobalNum gn = new GlobalNum();
private int num = 0;
public static GlobalNum getInstance(){
return gn;
}
public synchronized int getNum(){//返回访问次数
return ++num;
}
}
//测试代码SingleDemo.java,用于访问单例类GlobalNum
public class SingleDemo{
//测试单例模式
public static void main(String[] args){
//创建线程A
NumThread threadA = new NumThread("线程A");
//创建线程B
NumThread threadA = new NumThread("线程A");
//启动线程
threadA.start();
threadB.start();
}
}
//线程类
class NumThread extends Thread{
private String threasName;
public NumThread(String name){
threadName = name;
}
//重写线程的run方法(线程任务)
public void run(){
GlobalNum gnObj = GlobalNum.getInstance();
//循环访问,输出访问次数
for(int i = 0; i < 5; i++){
System.out.println(threadName + "第" + gnObj.getNum() + "次访问!");
try{
this.sleep(1000);//线程休眠1000ms
} catch (Exception e){
e.printStackTrace();
}
}
}
}
单例模式代码实例
最新推荐文章于 2021-03-18 15:11:41 发布