博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TestSingletonDemo:
阅读量:4098 次
发布时间:2019-05-25

本文共 2532 字,大约阅读时间需要 8 分钟。

 

Singleton:---------

 

package cn.tools;public class Singleton {	//饿汉模式(变种)	/*private static Singleton singleton;	static{		singleton = new Singleton();		System.out.println("static ===== "+singleton.toString());	}	private Singleton(){}		public static Singleton getInstance(){		System.out.println("getInstance===========");		return singleton;	}		public static void test(){		System.out.println("test======== " + singleton.toString());	}*/		//双重校验锁	/*private static Singleton singleton ;		private Singleton(){}		public static Singleton getInstance(String threadNo){		//T1 T2 T3 		//T4		if(singleton == null){			//T1 T2 T3			System.out.println("singleton 1 ================== threadNo:"+threadNo);			synchronized (Singleton.class) {				//T2 T1 T3				System.out.println("singleton 2 ================== threadNo:"+threadNo);				if(singleton == null){					//T2					System.out.println("singleton 3 ============== threadNo:"+threadNo);					singleton = new Singleton();				}			}		}		return singleton;	}*/		//静态内部类 lazy loading	private static Singleton singleton;		private Singleton(){}		private static class SingletonHelper{		private static final Singleton INSTANCE = new Singleton();	}		public static Singleton getInstance(){		return SingletonHelper.INSTANCE;	}		public static void test(){		System.out.println("test===" + singleton.toString());	}	}

 

 

TestSingleton:---------

 

package cn.tools;public class TestSingleton {		public static void main(String[] args) {				System.out.println("Singleton.getInstance() === " + 						Singleton.getInstance().toString());						//Singleton.test();			}}

 

 

 ThreadDemo:---------

 

package cn.tools;public class ThreadDemo extends Thread {	private String threadNo;		public ThreadDemo(String _threadNo){		threadNo = _threadNo;	}	@Override	public void run() {//线程开始执行		// TODO Auto-generated method stub		super.run();		System.out.println("run ================ threadNo:"+threadNo);		//Singleton.getInstance(threadNo);	}		public String getThreadNo() {		return threadNo;	}	public void setThreadNo(String threadNo) {		this.threadNo = threadNo;	}	}

 

 

TestThreadDemo:---------

 

package cn.tools;public class TestThreadDemo {		public static void main(String[] args) {				//for:主线程(获取cpu资源之后,瞬间生成n个子线程,n个并发)		for(int i = 0; i < 4; i++){			//new 开辟子线程 start:调用run,运行子线程			new ThreadDemo("thread"+i).start();						if(i == 1){				try {					Thread.sleep(1000);					System.out.println("sleep=====================");				} catch (InterruptedException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}			}		}			}}

 

转载地址:http://nqlii.baihongyu.com/

你可能感兴趣的文章
Win32程序之进程的原理
查看>>
C++虚函数原理
查看>>
MySQL的索引
查看>>
今天,Python信息量很大!
查看>>
Flash 已死,Deno 当立?
查看>>
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
都无代码了,还要程序员吗?
查看>>
程序员:凭自己能力吃饭,有什么理由瞧不起?
查看>>
面试想拿 10K,HR 说我只配7k?
查看>>
副业过万的程序员都知道的网站有哪些
查看>>
那些人生“开挂”的程序员,都在干什么?
查看>>
影响科学圈的那些计算机代码
查看>>
乐视视频 App 图标改为“欠 122 亿”,网友:我在别家分红包,却在你家随份子!...
查看>>
乔布斯18岁求职信拍卖价22.24万美元,值吗?
查看>>
为何程序员总喜欢写技术博客,看完恍然大悟...
查看>>
假如计算机是中国人发明的,那代码应该这么写
查看>>
科技公司最爱的 50 款开源工具,你都用过吗?
查看>>
触目惊心:比特币到底消耗了多少能源?
查看>>
面试官:简历上敢写技术精通?那我就不客气了!
查看>>