1
package com.example.demo.thread;
/**
* @date 2018/3/4
*/
public class ThreadPool {
private static ThreadPool threadPool = new ThreadPool();
private ThreadPool() {
}
/**
* 單例模式的實(shí)現(xiàn)方式
*
* @return
*/
public static ThreadPool getThreadPool() {
return threadPool;
}
}
2
package com.example.demo.thread;
/**
* @date 2018/3/4
*/
public class ThreadPool {
private static ThreadPool threadPool;
private ThreadPool() {
}
/**
* 單例模式的實(shí)現(xiàn)方式
*
* @return
*/
public static ThreadPool getThreadPool() {
if (threadPool == null) {
return new ThreadPool();
}
return threadPool;
}
}
3
package com.example.demo.thread;
/**
* @date 2018/3/4
*/
public class ThreadPool {
private static ThreadPool threadPool;
private ThreadPool() {
}
/**
* 單例模式的實(shí)現(xiàn)方式
*
* @return
*/
public static synchronized ThreadPool getThreadPool() {
if (threadPool == null) {
return new ThreadPool();
}
return threadPool;
}
}
4
package com.example.demo.thread;
/**
* @date 2018/3/4
*/
public class ThreadPool {
private static ThreadPool threadPool;
private ThreadPool() {
}
/**
* 單例模式的實(shí)現(xiàn)方式
*
* @return
*/
public static ThreadPool getThreadPool() {
if (threadPool == null) {
synchronized (ThreadPool.class) {
if (threadPool == null) {
return new ThreadPool();
}
}
}
return threadPool;
}
}
5
package com.example.demo.thread;
/**
* @date 2018/3/4
*/
public class ThreadPool {
private static volatile ThreadPool threadPool;
private ThreadPool() {
}
/**
* 單例模式的實(shí)現(xiàn)方式
*
* @return
*/
public static ThreadPool getThreadPool() {
if (threadPool == null) {
synchronized (ThreadPool.class) {
if (threadPool == null) {
return new ThreadPool();
}
}
}
return threadPool;
}
}
6
參考
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者